37 if (fIsCoincident[0] == 3 &&
between(fT[0][0], one, fT[0][1])) {
41 SkASSERT(fUsed <= 1 || fT[0][0] <= fT[0][1]);
43 for (index = 0; index < fUsed; ++index) {
44 double oldOne = fT[0][index];
45 double oldTwo = fT[1][index];
46 if (one == oldOne && two == oldTwo) {
59 int remaining = fUsed - index - 1;
60 memmove(&fPt[index], &fPt[index + 1],
sizeof(fPt[0]) * remaining);
61 memmove(&fT[0][index], &fT[0][index + 1],
sizeof(fT[0][0]) * remaining);
62 memmove(&fT[1][index], &fT[1][index + 1],
sizeof(fT[1][0]) * remaining);
63 int clearMask = ~((1 << index) - 1);
64 fIsCoincident[0] -= (fIsCoincident[0] >> 1) & clearMask;
65 fIsCoincident[1] -= (fIsCoincident[1] >> 1) & clearMask;
71 SkDebugf(
"%s t=%1.9g pts roughly equal\n", __FUNCTION__, one);
75 for (index = 0; index < fUsed; ++index) {
76 if (fT[0][index] > one) {
86 int remaining = fUsed - index;
88 memmove(&fPt[index + 1], &fPt[index],
sizeof(fPt[0]) * remaining);
89 memmove(&fT[0][index + 1], &fT[0][index],
sizeof(fT[0][0]) * remaining);
90 memmove(&fT[1][index + 1], &fT[1][index],
sizeof(fT[1][0]) * remaining);
91 int clearMask = ~((1 << index) - 1);
92 fIsCoincident[0] += fIsCoincident[0] & clearMask;
93 fIsCoincident[1] += fIsCoincident[1] & clearMask;
96 if (one < 0 || one > 1) {
99 if (two < 0 || two > 1) {
163 int remaining = --fUsed - index;
164 if (remaining <= 0) {
167 memmove(&fPt[index], &fPt[index + 1],
sizeof(fPt[0]) * remaining);
168 memmove(&fT[0][index], &fT[0][index + 1],
sizeof(fT[0][0]) * remaining);
169 memmove(&fT[1][index], &fT[1][index + 1],
sizeof(fT[1][0]) * remaining);
171 int coBit = fIsCoincident[0] & (1 << index);
172 fIsCoincident[0] -= ((fIsCoincident[0] >> 1) & ~((1 << index) - 1)) + coBit;
173 SkASSERT(!(coBit ^ (fIsCoincident[1] & (1 << index))));
174 fIsCoincident[1] -= ((fIsCoincident[1] >> 1) & ~((1 << index) - 1)) + coBit;