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

Side by Side Diff: tests/PathOpsOpTest.cpp

Issue 2224823004: template intersection fuzz fixes (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fix for 633608 Created 4 years, 4 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 | « src/pathops/SkPathOpsTSect.h ('k') | no next file » | 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 5328 matching lines...) Expand 10 before | Expand all | Expand 10 after
5339 static void cubics_d3(skiatest::Reporter* reporter, const char* filename) { 5339 static void cubics_d3(skiatest::Reporter* reporter, const char* filename) {
5340 SkPath path, pathB; 5340 SkPath path, pathB;
5341 path.setFillType(SkPath::kWinding_FillType); 5341 path.setFillType(SkPath::kWinding_FillType);
5342 path.moveTo(3, 4); 5342 path.moveTo(3, 4);
5343 path.cubicTo(0, 6, 6, 1, 4, 2); 5343 path.cubicTo(0, 6, 6, 1, 4, 2);
5344 path.close(); 5344 path.close();
5345 pathB.setFillType(SkPath::kWinding_FillType); 5345 pathB.setFillType(SkPath::kWinding_FillType);
5346 pathB.moveTo(1, 6); 5346 pathB.moveTo(1, 6);
5347 pathB.cubicTo(2, 4, 4, 3, 6, 0); 5347 pathB.cubicTo(2, 4, 4, 3, 6, 0);
5348 pathB.close(); 5348 pathB.close();
5349 // DEBUG_UNDER_DEVELOPMENT cubics_d3 disable expectation check for now
5350 // fails because segment 3 is marked as unorderable ?
5351 testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename); 5349 testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
5352 } 5350 }
5353 5351
5354 static void cubics_o(skiatest::Reporter* reporter, const char* filename) { 5352 static void cubics_o(skiatest::Reporter* reporter, const char* filename) {
5355 SkPath path, pathB; 5353 SkPath path, pathB;
5356 path.setFillType(SkPath::kWinding_FillType); 5354 path.setFillType(SkPath::kWinding_FillType);
5357 path.moveTo(1, 4); 5355 path.moveTo(1, 4);
5358 path.cubicTo(2, 6, 5, 0, 5, 3); 5356 path.cubicTo(2, 6, 5, 0, 5, 3);
5359 path.close(); 5357 path.close();
5360 pathB.setFillType(SkPath::kWinding_FillType); 5358 pathB.setFillType(SkPath::kWinding_FillType);
(...skipping 1511 matching lines...) Expand 10 before | Expand all | Expand 10 after
6872 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 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
6873 path.lineTo(SkBits2Float(0x2a8cef55), SkBits2Float(0x68295b2d)); // 2.50351e-13 f, 3.19905e+24f 6871 path.lineTo(SkBits2Float(0x2a8cef55), SkBits2Float(0x68295b2d)); // 2.50351e-13 f, 3.19905e+24f
6874 path.close(); 6872 path.close();
6875 path.moveTo(SkBits2Float(0x2a8cef55), SkBits2Float(0x68295b2d)); // 2.50351e-13 f, 3.19905e+24f 6873 path.moveTo(SkBits2Float(0x2a8cef55), SkBits2Float(0x68295b2d)); // 2.50351e-13 f, 3.19905e+24f
6876 path.lineTo(SkBits2Float(0x6ac07b2a), SkBits2Float(0x395b2d7a)); // 1.16348e+26 f, 0.000209024f 6874 path.lineTo(SkBits2Float(0x6ac07b2a), SkBits2Float(0x395b2d7a)); // 1.16348e+26 f, 0.000209024f
6877 6875
6878 SkPath path2(path); 6876 SkPath path2(path);
6879 testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename); 6877 testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
6880 } 6878 }
6881 6879
6880 static void fuzz763_18(skiatest::Reporter* reporter, const char* filename) {
6881 SkPath path;
6882 path.setFillType((SkPath::FillType) 0);
6883
6884 SkPath path1(path);
6885 path.reset();
6886 path.setFillType((SkPath::FillType) 0);
6887 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
6888 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f
6889 path.cubicTo(SkBits2Float(0x68392d55), SkBits2Float(0xf05b684b), SkBits2Float(0x 8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x0321082a), SkBits2Float(0x6a 4b7bc0)); // 3.4979e+24f, -2.71613e+29f, -1.64207e-31f, 5.76527e-19f, 4.7323e-3 7f, 6.14991e+25f
6890 path.conicTo(SkBits2Float(0x212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x 6a4b7bc0), SkBits2Float(0x2829ed84), SkBits2Float(0x69555b2d)); // 5.77848e-19f , 4.7323e-37f, 6.14991e+25f, 9.43289e-15f, 1.61207e+25f
6891 path.moveTo(SkBits2Float(0x6835282d), SkBits2Float(0xf0682955)); // 3.42196e+24 f, -2.87402e+29f
6892 path.conicTo(SkBits2Float(0x212a1f5b), SkBits2Float(0x2aef552a), SkBits2Float(0x 68295b2d), SkBits2Float(0x08682103), SkBits2Float(0x4b7bc055)); // 5.76397e-19f , 4.2514e-13f, 3.19905e+24f, 6.98538e-34f, 1.64988e+07f
6893 path.lineTo(SkBits2Float(0x5b2c6829), SkBits2Float(0x212a8c55)); // 4.85282e+16 f, 5.7784e-19f
6894 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f
6895 path.conicTo(SkBits2Float(0x68395b2d), SkBits2Float(0x555bf055), SkBits2Float(0x 2a1f2a8c), SkBits2Float(0x03212a21), SkBits2Float(0x5a4b7bc0)); // 3.50128e+24f , 1.51141e+13f, 1.41368e-13f, 4.7362e-37f, 1.43189e+16f
6896 path.conicTo(SkBits2Float(0xc08c2aed), SkBits2Float(0x211f2108), SkBits2Float(0x 6a4b7b03), SkBits2Float(0x6829ed27), SkBits2Float(0x2d555b2d)); // -4.38024f, 5 .3915e-19f, 6.14982e+25f, 3.20982e+24f, 1.21279e-11f
6897 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f
6898 path.conicTo(SkBits2Float(0x2a8c555b), SkBits2Float(0x212a1f72), SkBits2Float(0x 0321082a), SkBits2Float(0x6a4b7bc0), SkBits2Float(0x254793ed)); // 2.49282e-13f , 5.76399e-19f, 4.7323e-37f, 6.14991e+25f, 1.73106e-16f
6899 path.quadTo(SkBits2Float(0x2128282a), SkBits2Float(0x3a8a3adf), SkBits2Float(0x8 a284f1a), SkBits2Float(0xc2213ab3)); // 5.69738e-19f, 0.00105461f, -8.10378e-33 f, -40.3073f
6900 path.quadTo(SkBits2Float(0x1d2a2928), SkBits2Float(0x43962be6), SkBits2Float(0x3 a2a812a), SkBits2Float(0x2a8ced29)); // 2.25206e-21f, 300.343f, 0.000650423f, 2 .50336e-13f
6901 path.lineTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f
6902 path.close();
6903 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f
6904 path.conicTo(SkBits2Float(0x03210831), SkBits2Float(0x6a4b7bc0), SkBits2Float(0x 6829ed27), SkBits2Float(0x55555b2d), SkBits2Float(0x1e2a3a2a)); // 4.73231e-37f , 6.14991e+25f, 3.20982e+24f, 1.46617e+13f, 9.01175e-21f
6905 path.conicTo(SkBits2Float(0x27202140), SkBits2Float(0x3a3b2729), SkBits2Float(0x c4371f20), SkBits2Float(0x16c52a22), SkBits2Float(0x515d27ec)); // 2.22225e-15f , 0.000713932f, -732.486f, 3.18537e-25f, 5.93661e+10f
6906 path.lineTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f
6907 path.close();
6908 path.moveTo(SkBits2Float(0x6829523a), SkBits2Float(0x2d555b2d)); // 3.19839e+24 f, 1.21279e-11f
6909 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
6910 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f
6911 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
6912 path.conicTo(SkBits2Float(0x212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x 6a4b7bc0), SkBits2Float(0x2829ed84), SkBits2Float(0x2d555b2d)); // 5.77848e-19f , 4.7323e-37f, 6.14991e+25f, 9.43289e-15f, 1.21279e-11f
6913 path.moveTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
6914 path.lineTo(SkBits2Float(0x2a8c555b), SkBits2Float(0x2a212a1f)); // 2.49282e-13 f, 1.43143e-13f
6915 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
6916 path.close();
6917 path.moveTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
6918 path.lineTo(SkBits2Float(0x8c2aed7a), SkBits2Float(0x2a1f08c0)); // -1.31678e-3 1f, 1.41251e-13f
6919
6920 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
6922 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
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
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
6926
6927 SkPath path2(path);
6928 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
6929 }
6930
6931 static void fuzz763_19(skiatest::Reporter* reporter, const char* filename) {
6932 SkPath path;
6933 path.setFillType((SkPath::FillType) 1);
6934
6935 SkPath path1(path);
6936 path.reset();
6937 path.setFillType((SkPath::FillType) 0);
6938 path.moveTo(SkBits2Float(0x21081f21), SkBits2Float(0x4b7bc003)); // 4.61198e-19 f, 1.64987e+07f
6939 path.lineTo(SkBits2Float(0x2829ed84), SkBits2Float(0x69555b2d)); // 9.43289e-15 f, 1.61207e+25f
6940 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0682955)); // 3.33127e+24 f, -2.87402e+29f
6941 path.conicTo(SkBits2Float(0x212a1f5b), SkBits2Float(0x2aef552a), SkBits2Float(0x 68295b2d), SkBits2Float(0x08682103), SkBits2Float(0x4b7bc055)); // 5.76397e-19f , 4.2514e-13f, 3.19905e+24f, 6.98538e-34f, 1.64988e+07f
6942 path.moveTo(SkBits2Float(0x5b2c6829), SkBits2Float(0x212a8c55)); // 4.85282e+16 f, 5.7784e-19f
6943 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f
6944 path.conicTo(SkBits2Float(0x68395b2d), SkBits2Float(0x8c5bf055), SkBits2Float(0x 2a1f2a55), SkBits2Float(0x03212a21), SkBits2Float(0x5a4b7bc0)); // 3.50128e+24f , -1.69435e-31f, 1.41367e-13f, 4.7362e-37f, 1.43189e+16f
6945 path.conicTo(SkBits2Float(0xc08c2aed), SkBits2Float(0x211f2108), SkBits2Float(0x 6a4b7b03), SkBits2Float(0x6829ed27), SkBits2Float(0x2d555b2d)); // -4.38024f, 5 .3915e-19f, 6.14982e+25f, 3.20982e+24f, 1.21279e-11f
6946 path.moveTo(SkBits2Float(0x68315b2d), SkBits2Float(0xf0685527)); // 3.35016e+24 f, -2.87614e+29f
6947 path.conicTo(SkBits2Float(0x2a8c555b), SkBits2Float(0x212a1f72), SkBits2Float(0x 0321082a), SkBits2Float(0x6a4b7bc0), SkBits2Float(0x2547937a)); // 2.49282e-13f , 5.76399e-19f, 4.7323e-37f, 6.14991e+25f, 1.73105e-16f
6948 path.quadTo(SkBits2Float(0x2128282a), SkBits2Float(0x3a8a3adf), SkBits2Float(0x8 a284f1a), SkBits2Float(0xc2213ab3)); // 5.69738e-19f, 0.00105461f, -8.10378e-33 f, -40.3073f
6949 path.quadTo(SkBits2Float(0x1d2a2928), SkBits2Float(0x43962be6), SkBits2Float(0x3 a2a812a), SkBits2Float(0x2a8ced29)); // 2.25206e-21f, 300.343f, 0.000650423f, 2 .50336e-13f
6950 path.lineTo(SkBits2Float(0x68315b2d), SkBits2Float(0xf0685527)); // 3.35016e+24 f, -2.87614e+29f
6951 path.close();
6952 path.moveTo(SkBits2Float(0x68315b2d), SkBits2Float(0xf0685527)); // 3.35016e+24 f, -2.87614e+29f
6953 path.conicTo(SkBits2Float(0x03210831), SkBits2Float(0x6a4b7bc0), SkBits2Float(0x 6829ed27), SkBits2Float(0x55555b2d), SkBits2Float(0x1e2a3a2a)); // 4.73231e-37f , 6.14991e+25f, 3.20982e+24f, 1.46617e+13f, 9.01175e-21f
6954 path.conicTo(SkBits2Float(0x27202140), SkBits2Float(0x3a3b2729), SkBits2Float(0x c4371f20), SkBits2Float(0xecc52a22), SkBits2Float(0x21515d27)); // 2.22225e-15f , 0.000713932f, -732.486f, -1.90686e+27f, 7.09352e-19f
6955 path.lineTo(SkBits2Float(0x68315b2d), SkBits2Float(0xf0685527)); // 3.35016e+24 f, -2.87614e+29f
6956 path.close();
6957 path.moveTo(SkBits2Float(0x6829523a), SkBits2Float(0x2d555b2d)); // 3.19839e+24 f, 1.21279e-11f
6958 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
6959 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f
6960 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
6961 path.conicTo(SkBits2Float(0x212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x 6a4b7bc0), SkBits2Float(0x2829ed84), SkBits2Float(0x2d555b2d)); // 5.77848e-19f , 4.7323e-37f, 6.14991e+25f, 9.43289e-15f, 1.21279e-11f
6962 path.moveTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
6963 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
6964 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
6965 path.close();
6966 path.moveTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
6967 path.lineTo(SkBits2Float(0x555b2c29), SkBits2Float(0x6c212a8c)); // 1.50614e+13 f, 7.79352e+26f
6968 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
6969 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
6970 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
6971 path.close();
6972 path.moveTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
6973 path.lineTo(SkBits2Float(0x8c2aed7a), SkBits2Float(0x1f2128c0)); // -1.31678e-3 1f, 3.41268e-20f
6974 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
6975 path.close();
6976
6977 SkPath path2(path);
6978 testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
6979 }
6980
6981 static void fuzz763_20(skiatest::Reporter* reporter, const char* filename) {
6982 SkPath path;
6983 path.setFillType((SkPath::FillType) 0);
6984
6985 SkPath path1(path);
6986 path.reset();
6987 path.setFillType((SkPath::FillType) 0);
6988 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
6989 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f
6990 path.cubicTo(SkBits2Float(0x68392d55), SkBits2Float(0xf05b684b), SkBits2Float(0x 8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x0321082a), SkBits2Float(0x6a 4b7bc0)); // 3.4979e+24f, -2.71613e+29f, -1.64207e-31f, 5.76527e-19f, 4.7323e-3 7f, 6.14991e+25f
6991 path.conicTo(SkBits2Float(0x212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x 6a4b7bc0), SkBits2Float(0x2829ed84), SkBits2Float(0x69555b2d)); // 5.77848e-19f , 4.7323e-37f, 6.14991e+25f, 9.43289e-15f, 1.61207e+25f
6992 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0682955)); // 3.33127e+24 f, -2.87402e+29f
6993 path.conicTo(SkBits2Float(0x212a1f5b), SkBits2Float(0x2a8c552a), SkBits2Float(0x 68295b2d), SkBits2Float(0x08682103), SkBits2Float(0x4b7bc055)); // 5.76397e-19f , 2.49281e-13f, 3.19905e+24f, 6.98538e-34f, 1.64988e+07f
6994 path.lineTo(SkBits2Float(0x5b2c6829), SkBits2Float(0x212a8c55)); // 4.85282e+16 f, 5.7784e-19f
6995 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f
6996 path.conicTo(SkBits2Float(0x68395b2d), SkBits2Float(0x555bf055), SkBits2Float(0x 2a1f2a8c), SkBits2Float(0x03212a21), SkBits2Float(0x5a4b7bc0)); // 3.50128e+24f , 1.51141e+13f, 1.41368e-13f, 4.7362e-37f, 1.43189e+16f
6997 path.conicTo(SkBits2Float(0xc08c2aed), SkBits2Float(0x211f2108), SkBits2Float(0x 6a4b7b03), SkBits2Float(0x6829ed27), SkBits2Float(0x2d555b2d)); // -4.38024f, 5 .3915e-19f, 6.14982e+25f, 3.20982e+24f, 1.21279e-11f
6998 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f
6999 path.conicTo(SkBits2Float(0x2a8c555b), SkBits2Float(0x6e2a1f72), SkBits2Float(0x 0321182a), SkBits2Float(0x6a4b7bc0), SkBits2Float(0x4793ed7a)); // 2.49282e-13f , 1.31626e+28f, 4.73414e-37f, 6.14991e+25f, 75739
7000 path.lineTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f
7001 path.close();
7002 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f
7003 path.quadTo(SkBits2Float(0x2128282a), SkBits2Float(0x3a8a3adf), SkBits2Float(0x8 a284f1a), SkBits2Float(0x2c213ab3)); // 5.69738e-19f, 0.00105461f, -8.10378e-33 f, 2.29121e-12f
7004 path.lineTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f
7005 path.close();
7006 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f
7007 path.quadTo(SkBits2Float(0x1d2a2928), SkBits2Float(0x43962be6), SkBits2Float(0x3 a2a812a), SkBits2Float(0x2a8ced29)); // 2.25206e-21f, 300.343f, 0.000650423f, 2 .50336e-13f
7008 path.lineTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f
7009 path.close();
7010 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f
7011 path.conicTo(SkBits2Float(0x03210831), SkBits2Float(0x6a4b7bc0), SkBits2Float(0x 6829ed27), SkBits2Float(0x55555b2d), SkBits2Float(0x1e2a3a2a)); // 4.73231e-37f , 6.14991e+25f, 3.20982e+24f, 1.46617e+13f, 9.01175e-21f
7012 path.conicTo(SkBits2Float(0x27202140), SkBits2Float(0x3a3b2769), SkBits2Float(0x c4371f20), SkBits2Float(0xecc52a22), SkBits2Float(0x51282727)); // 2.22225e-15f , 0.000713936f, -732.486f, -1.90686e+27f, 4.51382e+10f
7013 path.lineTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f
7014 path.close();
7015 path.moveTo(SkBits2Float(0x6829523a), SkBits2Float(0x2d555b2d)); // 3.19839e+24 f, 1.21279e-11f
7016 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x8c555b2d)); // 4.03114e+24 f, -1.64364e-31f
7017 path.moveTo(SkBits2Float(0x081f2a31), SkBits2Float(0xc0032921)); // 4.78969e-34 f, -2.04939f
7018 path.cubicTo(SkBits2Float(0x68572d55), SkBits2Float(0xf05bd24b), SkBits2Float(0x 8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x0321082a), SkBits2Float(0xed 4b7bc0)); // 4.06458e+24f, -2.72126e+29f, -1.64207e-31f, 5.76527e-19f, 4.7323e- 37f, -3.93594e+27f
7019 path.conicTo(SkBits2Float(0x212a8c6a), SkBits2Float(0x4329081f), SkBits2Float(0x 6a4b7bc0), SkBits2Float(0x2829ed84), SkBits2Float(0x5b2d2d55)); // 5.77841e-19f , 169.032f, 6.14991e+25f, 9.43289e-15f, 4.8745e+16f
7020 path.moveTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
7021 path.conicTo(SkBits2Float(0x212a1f5b), SkBits2Float(0x8cef552a), SkBits2Float(0x 295b2d2a), SkBits2Float(0x3a210368), SkBits2Float(0x7bc05508)); // 5.76397e-19f , -3.6875e-31f, 4.86669e-14f, 0.000614217f, 1.99729e+36f
7022 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
7023 path.close();
7024 path.moveTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
7025 path.lineTo(SkBits2Float(0x555b6829), SkBits2Float(0x6c212a8c)); // 1.50775e+13 f, 7.79352e+26f
7026 path.lineTo(SkBits2Float(0x5b2d7a6a), SkBits2Float(0xf0556830)); // 4.88298e+16 f, -2.64185e+29f
7027 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
7028 path.close();
7029 path.moveTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
7030 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
7031 path.lineTo(SkBits2Float(0x8c2aed7a), SkBits2Float(0x212128c0)); // -1.31678e-3 1f, 5.46029e-19f
7032 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
7033 path.close();
7034
7035 SkPath path2(path);
7036 testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
7037 }
7038
7039 static void fuzz763_21(skiatest::Reporter* reporter, const char* filename) {
7040 SkPath path;
7041 path.setFillType((SkPath::FillType) 1);
7042 path.moveTo(SkBits2Float(0x6828c6f9), SkBits2Float(0x6614dc9e)); // 3.18811e+24 f, 1.75745e+23f
7043 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
7044 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
7045 path.lineTo(SkBits2Float(0x6828c6f9), SkBits2Float(0x6614dc9e)); // 3.18811e+24 f, 1.75745e+23f
7046 path.close();
7047 path.moveTo(SkBits2Float(0x68226c73), SkBits2Float(0x660bd15e)); // 3.0681e+24f , 1.65068e+23f
7048 path.cubicTo(SkBits2Float(0x6823b0e1), SkBits2Float(0x660d990f), SkBits2Float(0x 6824f6d5), SkBits2Float(0x660f668c), SkBits2Float(0x68263e4e), SkBits2Float(0x66 113632)); // 3.09203e+24f, 1.67169e+23f, 3.11609e+24f, 1.69298e+23f, 3.14025e+2 4f, 1.71436e+23f
7049 path.cubicTo(SkBits2Float(0x682715e4), SkBits2Float(0x6612676d), SkBits2Float(0x 6827ee22), SkBits2Float(0x66139997), SkBits2Float(0x6828c709), SkBits2Float(0x66 14cba5)); // 3.15616e+24f, 1.72843e+23f, 3.17211e+24f, 1.74255e+23f, 3.18812e+2 4f, 1.75667e+23f
7050 path.lineTo(SkBits2Float(0x6828d720), SkBits2Float(0x6604a1a2)); // 3.1893e+24f , 1.56583e+23f
7051 path.cubicTo(SkBits2Float(0x68270421), SkBits2Float(0x6601102c), SkBits2Float(0x 68252b97), SkBits2Float(0x65fb1edd), SkBits2Float(0x68234ce5), SkBits2Float(0x65 f4367f)); // 3.15485e+24f, 1.52371e+23f, 3.11998e+24f, 1.48235e+23f, 3.08466e+2 4f, 1.44158e+23f
7052 path.conicTo(SkBits2Float(0x6822e012), SkBits2Float(0x6602acc5), SkBits2Float(0x 68226c73), SkBits2Float(0x660bd15e), SkBits2Float(0x3f7ffa04)); // 3.07663e+24f , 1.54274e+23f, 3.0681e+24f, 1.65068e+23f, 0.999909f
7053 path.close();
7054 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x6a2a291f)); // 0, 5.14279e +25f
7055 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x68555b2a)); // 0, 4.03018e +24f
7056 path.cubicTo(SkBits2Float(0x00000000), SkBits2Float(0x68617414), SkBits2Float(0x 66af1c42), SkBits2Float(0x68624f96), SkBits2Float(0x6757755b), SkBits2Float(0x68 5b93f2)); // 0, 4.25869e+24f, 4.13468e+23f, 4.27489e+24f, 1.01747e+24f, 4.14771 e+24f
7057 path.cubicTo(SkBits2Float(0x67a63a84), SkBits2Float(0x68fe1c37), SkBits2Float(0x 67c05eed), SkBits2Float(0x69930962), SkBits2Float(0x00000000), SkBits2Float(0x6a 2a291f)); // 1.56998e+24f, 9.60001e+24f, 1.81689e+24f, 2.22196e+25f, 0, 5.14279 e+25f
7058 path.close();
7059 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x6a2a291f)); // 0, 5.14279e +25f
7060 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x6a4b7bc4)); // 0, 6.14991e +25f
7061 path.cubicTo(SkBits2Float(0x6a2c8798), SkBits2Float(0x68f7a144), SkBits2Float(0x 6951f5ea), SkBits2Float(0x6796ad55), SkBits2Float(0x683fa268), SkBits2Float(0x66 3759e1)); // 5.21439e+25f, 9.35519e+24f, 1.58642e+25f, 1.4231e+24f, 3.61987e+24 f, 2.16463e+23f
7062 path.cubicTo(SkBits2Float(0x683871e3), SkBits2Float(0x66253b4f), SkBits2Float(0x 6830da01), SkBits2Float(0x66144d3e), SkBits2Float(0x6828d720), SkBits2Float(0x66 04a1a2)); // 3.48407e+24f, 1.95071e+23f, 3.34063e+24f, 1.75084e+23f, 3.1893e+24 f, 1.56583e+23f
7063 path.conicTo(SkBits2Float(0x68295b21), SkBits2Float(0x00000000), SkBits2Float(0x 00000000), SkBits2Float(0x00000000), SkBits2Float(0x492bb324)); // 3.19904e+24f , 0, 0, 0, 703282
7064 path.cubicTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000), SkBits2Float(0x 677b84f0), SkBits2Float(0x00000000), SkBits2Float(0x68226c73), SkBits2Float(0x66 0bd15e)); // 0, 0, 1.18777e+24f, 0, 3.0681e+24f, 1.65068e+23f
7065 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x68156829)); // 0, 2.82222e +24f
7066 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x68555b2a)); // 0, 4.03018e +24f
7067 path.lineTo(SkBits2Float(0x673918f3), SkBits2Float(0x681b0f5f)); // 8.74098e+23 f, 2.929e+24f
7068 path.lineTo(SkBits2Float(0x67391759), SkBits2Float(0x681b0fae)); // 8.74068e+23 f, 2.92902e+24f
7069 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
7070 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
7071 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x6a2a291f)); // 0, 5.14279e +25f
7072 path.close();
7073
7074 SkPath path1(path);
7075 path.reset();
7076 path.setFillType((SkPath::FillType) 0);
7077
7078 SkPath path2(path);
7079 testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
7080 }
7081
7082 static void fuzz763_22(skiatest::Reporter* reporter, const char* filename) {
7083 SkPath path;
7084 path.setFillType((SkPath::FillType) 1);
7085 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x68295b2d)); // 0, 3.19905e +24f
7086 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
7087 path.lineTo(SkBits2Float(0x6a3a7bc0), SkBits2Float(0x00000000)); // 5.63611e+25 f, 0
7088 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x6a034b21)); // 0, 3.9681e+ 25f
7089 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x68295b2d)); // 0, 3.19905e +24f
7090 path.close();
7091 path.moveTo(SkBits2Float(0x6617da56), SkBits2Float(0x00000000)); // 1.79276e+23 f, 0
7092 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
7093 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
7094 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
7095 path.close();
7096
7097 SkPath path1(path);
7098 path.reset();
7099 path.setFillType((SkPath::FillType) 0);
7100 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
7101 path.quadTo(SkBits2Float(0x4f9a3a8a), SkBits2Float(0xc28a0d28), SkBits2Float(0x2 73a3ab3), SkBits2Float(0x8b2a2928)); // 5.17506e+09f, -69.0257f, 2.58445e-15f, -3.27718e-32f
7102 path.lineTo(SkBits2Float(0x63283ae6), SkBits2Float(0x27282a81)); // 3.1033e+21f , 2.33377e-15f
7103
7104 SkPath path2(path);
7105 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 3, filename);
7106 }
7107
7108 static void fuzz763_23(skiatest::Reporter* reporter, const char* filename) {
7109 SkPath path;
7110 path.setFillType((SkPath::FillType) 0);
7111
7112 SkPath path1(path);
7113 path.reset();
7114 path.setFillType((SkPath::FillType) 0);
7115 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
7116 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f
7117 path.cubicTo(SkBits2Float(0x68392d55), SkBits2Float(0xf05b684b), SkBits2Float(0x 8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x03210c2a), SkBits2Float(0x6a 4b7bc0)); // 3.4979e+24f, -2.71613e+29f, -1.64207e-31f, 5.76527e-19f, 4.73276e- 37f, 6.14991e+25f
7118 path.conicTo(SkBits2Float(0x212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x 6a4b7bc0), SkBits2Float(0x2829ed84), SkBits2Float(0x69555b2d)); // 5.77848e-19f , 4.7323e-37f, 6.14991e+25f, 9.43289e-15f, 1.61207e+25f
7119 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0682955)); // 3.33127e+24 f, -2.87402e+29f
7120 path.conicTo(SkBits2Float(0x212a1f5b), SkBits2Float(0x2aef552a), SkBits2Float(0x 29295b2d), SkBits2Float(0x68210368), SkBits2Float(0x7bc05508)); // 5.76397e-19f , 4.2514e-13f, 3.76046e-14f, 3.04146e+24f, 1.99729e+36f
7121 path.lineTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0682955)); // 3.33127e+24 f, -2.87402e+29f
7122 path.close();
7123 path.moveTo(SkBits2Float(0x5b2c6829), SkBits2Float(0x212a8c55)); // 4.85282e+16 f, 5.7784e-19f
7124 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f
7125 path.conicTo(SkBits2Float(0x68395b2d), SkBits2Float(0x8c5bf055), SkBits2Float(0x 2a1f2a55), SkBits2Float(0x03212a21), SkBits2Float(0x5a4b7bc0)); // 3.50128e+24f , -1.69435e-31f, 1.41367e-13f, 4.7362e-37f, 1.43189e+16f
7126 path.conicTo(SkBits2Float(0xc08c2aed), SkBits2Float(0x211f2108), SkBits2Float(0x 6a4b7b03), SkBits2Float(0x6829ed27), SkBits2Float(0x2d555b2d)); // -4.38024f, 5 .3915e-19f, 6.14982e+25f, 3.20982e+24f, 1.21279e-11f
7127 path.moveTo(SkBits2Float(0x68315b2d), SkBits2Float(0xf0685527)); // 3.35016e+24 f, -2.87614e+29f
7128 path.conicTo(SkBits2Float(0x2a8c555b), SkBits2Float(0x08211f72), SkBits2Float(0x 032a2a21), SkBits2Float(0x6a4b7bc0), SkBits2Float(0x2547937a)); // 2.49282e-13f , 4.84861e-34f, 5.00069e-37f, 6.14991e+25f, 1.73105e-16f
7129 path.quadTo(SkBits2Float(0x2128282a), SkBits2Float(0x3a8a3adf), SkBits2Float(0x8 a284f1a), SkBits2Float(0xc2213ab3)); // 5.69738e-19f, 0.00105461f, -8.10378e-33 f, -40.3073f
7130 path.quadTo(SkBits2Float(0x1d2a2928), SkBits2Float(0x43962be6), SkBits2Float(0x3 a2a812a), SkBits2Float(0x2a8ced29)); // 2.25206e-21f, 300.343f, 0.000650423f, 2 .50336e-13f
7131 path.lineTo(SkBits2Float(0x68315b2d), SkBits2Float(0xf0685527)); // 3.35016e+24 f, -2.87614e+29f
7132 path.close();
7133 path.moveTo(SkBits2Float(0x68315b2d), SkBits2Float(0xf0685527)); // 3.35016e+24 f, -2.87614e+29f
7134 path.conicTo(SkBits2Float(0x03210831), SkBits2Float(0x6a4b7bc0), SkBits2Float(0x 6829ed27), SkBits2Float(0x55555b2d), SkBits2Float(0x1e2a3a2a)); // 4.73231e-37f , 6.14991e+25f, 3.20982e+24f, 1.46617e+13f, 9.01175e-21f
7135 path.conicTo(SkBits2Float(0x27202140), SkBits2Float(0x3a3b2729), SkBits2Float(0x c4371f20), SkBits2Float(0xecc52a22), SkBits2Float(0x21515d27)); // 2.22225e-15f , 0.000713932f, -732.486f, -1.90686e+27f, 7.09352e-19f
7136 path.lineTo(SkBits2Float(0x68315b2d), SkBits2Float(0xf0685527)); // 3.35016e+24 f, -2.87614e+29f
7137 path.close();
7138 path.moveTo(SkBits2Float(0x6829523a), SkBits2Float(0x2d555b2d)); // 3.19839e+24 f, 1.21279e-11f
7139 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
7140 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f
7141 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
7142 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
7143 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
7144
7145 SkPath path2(path);
7146 testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename);
7147 }
7148
7149 static void fuzz763_24(skiatest::Reporter* reporter, const char* filename) {
7150 SkPath path;
7151 path.setFillType((SkPath::FillType) 1);
7152
7153 SkPath path1(path);
7154 path.reset();
7155 path.setFillType((SkPath::FillType) 0);
7156 path.moveTo(SkBits2Float(0xededed02), SkBits2Float(0xedededed)); // -9.20431e+2 7f, -9.20445e+27f
7157 path.close();
7158 path.moveTo(SkBits2Float(0xededed02), SkBits2Float(0xedededed)); // -9.20431e+2 7f, -9.20445e+27f
7159 path.quadTo(SkBits2Float(0x9fb9c16e), SkBits2Float(0x27737375), SkBits2Float(0xb 7c5ff00), SkBits2Float(0x00ff9908)); // -7.86706e-20f, 3.37856e-15f, -2.3603e-0 5f, 2.34729e-38f
7160 path.moveTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7161 path.cubicTo(SkBits2Float(0x1616ecec), SkBits2Float(0x2c321616), SkBits2Float(0x 3516c616), SkBits2Float(0x6e161616), SkBits2Float(0x4c416033), SkBits2Float(0xf6 000000)); // 1.21917e-25f, 2.53076e-12f, 5.61676e-07f, 1.16124e+28f, 5.06923e+0 7f, -6.49037e+32f
7162 path.quadTo(SkBits2Float(0x04007f41), SkBits2Float(0xecececec), SkBits2Float(0xe cececec), SkBits2Float(0xecec41ec)); // 1.51048e-36f, -2.2914e+27f, -2.2914e+27 f, -2.28494e+27f
7163 path.lineTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7164 path.close();
7165 path.moveTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7166 path.quadTo(SkBits2Float(0x000000ec), SkBits2Float(0xececcc00), SkBits2Float(0x4 8ececec), SkBits2Float(0x0278806e)); // 3.30706e-43f, -2.29016e+27f, 485223, 1. 8257e-37f
7167 path.lineTo(SkBits2Float(0x72ececec), SkBits2Float(0xecec02ec)); // 9.38559e+30 f, -2.28256e+27f
7168 path.quadTo(SkBits2Float(0xec04007f), SkBits2Float(0xecececec), SkBits2Float(0xe cececec), SkBits2Float(0xecec0400)); // -6.38322e+26f, -2.2914e+27f, -2.2914e+2 7f, -2.2826e+27f
7169 path.lineTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7170 path.close();
7171 path.moveTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7172 path.quadTo(SkBits2Float(0x000040ec), SkBits2Float(0x3a333300), SkBits2Float(0xe cec3333), SkBits2Float(0xececdbec)); // 2.32896e-41f, 0.000683591f, -2.28439e+2 7f, -2.29076e+27f
7173 path.lineTo(SkBits2Float(0x3300007f), SkBits2Float(0x33d83333)); // 2.98028e-08 f, 1.00676e-07f
7174 path.lineTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7175 path.close();
7176 path.moveTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7177 path.quadTo(SkBits2Float(0x9e9ea900), SkBits2Float(0x33ececec), SkBits2Float(0xe cecec33), SkBits2Float(0xec336e6e)); // -1.67988e-20f, 1.10327e-07f, -2.29138e+ 27f, -8.67677e+26f
7178 path.lineTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7179 path.close();
7180 path.moveTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7181 path.lineTo(SkBits2Float(0xedededed), SkBits2Float(0xedededed)); // -9.20445e+2 7f, -9.20445e+27f
7182 path.lineTo(SkBits2Float(0xecececec), SkBits2Float(0xecececec)); // -2.2914e+27 f, -2.2914e+27f
7183 path.lineTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7184 path.close();
7185 path.moveTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7186 path.lineTo(SkBits2Float(0x01003300), SkBits2Float(0x33d83333)); // 2.35465e-38 f, 1.00676e-07f
7187 path.quadTo(SkBits2Float(0xecec3333), SkBits2Float(0x04eeedec), SkBits2Float(0xe 0e0e0e0), SkBits2Float(0x9ee0e0e0)); // -2.28439e+27f, 5.6172e-36f, -1.29634e+2 0f, -2.38099e-20f
7188 path.lineTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7189 path.close();
7190 path.moveTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7191 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
7192 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
7193
7194 SkPath path2(path);
7195 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 2, filename);
7196 }
7197
6882 static struct TestDesc failTests[] = { 7198 static struct TestDesc failTests[] = {
7199 TEST(fuzz763_24),
7200 TEST(fuzz763_23),
7201 TEST(fuzz763_22),
7202 TEST(fuzz763_21),
7203 TEST(fuzz763_20),
7204 TEST(fuzz763_19),
7205 TEST(fuzz763_18),
6883 TEST(fuzz763_17), 7206 TEST(fuzz763_17),
6884 TEST(fuzz763_16), 7207 TEST(fuzz763_16),
6885 TEST(fuzz763_15), 7208 TEST(fuzz763_15),
6886 TEST(fuzz763_14), 7209 TEST(fuzz763_14),
6887 TEST(fuzz763_13), 7210 TEST(fuzz763_13),
6888 TEST(fuzz763_12), 7211 TEST(fuzz763_12),
6889 TEST(fuzz763_11), 7212 TEST(fuzz763_11),
6890 TEST(fuzz763_10), 7213 TEST(fuzz763_10),
6891 TEST(kfuzz2), 7214 TEST(kfuzz2),
6892 TEST(fuzz763_7), 7215 TEST(fuzz763_7),
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
6930 static struct TestDesc repTests[] = { 7253 static struct TestDesc repTests[] = {
6931 TEST(loops44i), 7254 TEST(loops44i),
6932 TEST(loops45i), 7255 TEST(loops45i),
6933 TEST(loops46i), 7256 TEST(loops46i),
6934 }; 7257 };
6935 7258
6936 DEF_TEST(PathOpsRepOp, reporter) { 7259 DEF_TEST(PathOpsRepOp, reporter) {
6937 for (int index = 0; index < 2; ++index) 7260 for (int index = 0; index < 2; ++index)
6938 RunTestSet(reporter, repTests, SK_ARRAY_COUNT(repTests), nullptr, nullptr, n ullptr, false); 7261 RunTestSet(reporter, repTests, SK_ARRAY_COUNT(repTests), nullptr, nullptr, n ullptr, false);
6939 } 7262 }
OLDNEW
« no previous file with comments | « src/pathops/SkPathOpsTSect.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698