blob: 6e9232906826ebd4e13ee874e56c741b63e279f3 [file] [log] [blame]
caryclark@google.com27accef2012-01-25 18:57:23 +00001#include "CubicIntersection.h"
2#include "Intersection_Tests.h"
3#include "QuadraticIntersection_TestData.h"
4#include "TestUtilities.h"
5
6void QuadraticReduceOrder_Test() {
7 size_t index;
8 Quadratic reduce;
9 int order;
10 enum {
11 RunAll,
12 RunQuadraticLines,
13 RunQuadraticModLines,
14 RunNone
15 } run = RunAll;
16 int firstTestIndex = 0;
17#if 0
18 run = RunQuadraticLines;
19 firstTestIndex = 1;
20#endif
21 int firstQuadraticLineTest = run == RunAll ? 0 : run == RunQuadraticLines ? firstTestIndex : INT_MAX;
22 int firstQuadraticModLineTest = run == RunAll ? 0 : run == RunQuadraticModLines ? firstTestIndex : INT_MAX;
23
24 for (index = firstQuadraticLineTest; index < quadraticLines_count; ++index) {
25 const Quadratic& quad = quadraticLines[index];
26 order = reduceOrder(quad, reduce);
27 if (order != 2) {
28 printf("[%d] line quad order=%d\n", (int) index, order);
29 }
30 }
31 for (index = firstQuadraticModLineTest; index < quadraticModEpsilonLines_count; ++index) {
32 const Quadratic& quad = quadraticModEpsilonLines[index];
33 order = reduceOrder(quad, reduce);
34 if (order != 3) {
35 printf("[%d] line mod quad order=%d\n", (int) index, order);
36 }
37 }
38}