Lines Matching full:2

73 		e = 2Mdy - 2Ndx - dx - B
74 -2dx <= e < 0
77 e = 2Ndx - 2Mdy - dy - B
78 -2dy <= e < 0
83 X major e = 2Mdy - 2Ndx - dx - B
86 Y major e = 2Ndx - 2Mdy - dy - B
92 X major e = 2Mdy - 2Ndx - dx - B
93 = 2dxdy - 2dydx - dx - B
95 Y major e = 2Ndx - 2Mdy - dy - B
96 = 2dydx - 2dxdy - dy - B
115 -2dx <= 2Mdy - 2Ndx - dx - B < 0
116 2Ndx <= 2Mdy - dx - B + 2dx 2Ndx > 2Mdy - dx - B
117 2Ndx <= 2Mdy + dx - B N > (2Mdy - dx - B) / 2dx
118 N <= (2Mdy + dx - B) / 2dx
123 N = floor((2Mdy - dx - B) / 2dx) + 1
124 = floor((2Mdy - dx - B + 2dx) / 2dx)
125 = floor((2Mdy + dx - B) / 2dx)
132 N = floor((2Mdy + dx - B) / 2dx)
134 Case 2: X major, ending X coordinate moved by M steps
136 -2dx <= 2(dx - M)dy - 2(dy - N)dx - dx - B < 0
137 -2dx <= 2dxdy - 2Mdy - 2dxdy + 2Ndx - dx - B < 0
138 -2dx <= 2Ndx - 2Mdy - dx - B < 0
139 2Ndx >= 2Mdy + dx + B - 2dx 2Ndx < 2Mdy + dx + B
140 2Ndx >= 2Mdy - dx + B N < (2Mdy + dx + B) / 2dx
141 N >= (2Mdy - dx + B) / 2dx
147 N = ceiling((2Mdy - dx + B) / 2dx)
148 = floor((2Mdy - dx + B + 2dx - 1) / 2dx)
149 = floor((2Mdy + dx + B - 1) / 2dx)
151 Case 2b: X major, starting X coordinate moved to M steps from end
153 Same derivations as Case 2, but we want the smallest number of Y
156 N = ceiling((2Mdy + dx + B) / 2dx) - 1
157 = floor((2Mdy + dx + B + 2dx - 1) / 2dx) - 1
158 = floor((2Mdy + dx + B + 2dx - 1 - 2dx) / 2dx)
159 = floor((2Mdy + dx + B - 1) / 2dx)
163 -2dy <= 2Ndx - 2Mdy - dy - B < 0
164 2Ndx >= 2Mdy + dy + B - 2dy 2Ndx < 2Mdy + dy + B
165 2Ndx >= 2Mdy - dy + B N < (2Mdy + dy + B) / 2dx
166 N >= (2Mdy - dy + B) / 2dx
171 N = ceiling((2Mdy - dy + B) / 2dx)
172 = floor((2Mdy - dy + B + 2dx - 1) / 2dx)
173 = floor((2Mdy - dy + B - 1) / 2dx) + 1
180 N = ceiling((2Mdy + dy + B) / 2dx) - 1
181 = floor((2Mdy + dy + B + 2dx - 1) / 2dx) - 1
182 = floor((2Mdy + dy + B + 2dx - 1 - 2dx) / 2dx)
183 = floor((2Mdy + dy + B - 1) / 2dx)
187 -2dy <= 2(dy - N)dx - 2(dx - M)dy - dy - B < 0
188 -2dy <= 2dxdy - 2Ndx - 2dxdy + 2Mdy - dy - B < 0
189 -2dy <= 2Mdy - 2Ndx - dy - B < 0
190 2Ndx <= 2Mdy - dy - B + 2dy 2Ndx > 2Mdy - dy - B
191 2Ndx <= 2Mdy + dy - B N > (2Mdy - dy - B) / 2dx
192 N <= (2Mdy + dy - B) / 2dx
198 N = floor((2Mdy - dy - B) / 2dx) + 1
205 N = floor((2Mdy + dy - B) / 2dx)
211 -2dx <= 2Mdy - 2Ndx - dx - B < 0
212 2Mdy >= 2Ndx + dx + B - 2dx 2Mdy < 2Ndx + dx + B
213 2Mdy >= 2Ndx - dx + B M < (2Ndx + dx + B) / 2dy
214 M >= (2Ndx - dx + B) / 2dy
218 M = ceiling((2Ndx - dx + B) / 2dy)
219 = floor((2Ndx - dx + B + 2dy - 1) / 2dy)
220 = floor((2Ndx - dx + B - 1) / 2dy) + 1
227 M = ceiling((2Ndx + dx + B) / 2dy) - 1
228 = floor((2Ndx + dx + B + 2dy - 1) / 2dy) - 1
229 = floor((2Ndx + dx + B + 2dy - 1 - 2dy) / 2dy)
230 = floor((2Ndx + dx + B - 1) / 2dy)
234 -2dx <= 2(dx - M)dy - 2(dy - N)dx - dx - B < 0
235 -2dx <= 2dxdy - 2Mdy - 2dxdy + 2Ndx - dx - B < 0
236 -2dx <= 2Ndx - 2Mdy - dx - B < 0
237 2Mdy <= 2Ndx - dx - B + 2dx 2Mdy > 2Ndx - dx - B
238 2Mdy <= 2Ndx + dx - B M > (2Ndx - dx - B) / 2dy
239 M <= (2Ndx + dx - B) / 2dy
243 M = floor((2Ndx - dx - B) / 2dy) + 1
250 M = floor((2Ndx + dx - B) / 2dy)
254 -2dy <= 2Ndx - 2Mdy - dy - B < 0
255 2Mdy <= 2Ndx - dy - B + 2dy 2Mdy > 2Ndx - dy - B
256 2Mdy <= 2Ndx + dy - B M > (2Ndx - dy - B) / 2dy
257 M <= (2Ndx + dy - B) / 2dy
261 M = floor((2Ndx - dy - B) / 2dy) + 1
262 = floor((2Ndx - dy - B + 2dy) / 2dy)
263 = floor((2Ndx + dy - B) / 2dy)
270 M = floor((2Ndx + dy - B) / 2dy)
274 -2dy <= 2(dy - N)dx - 2(dx - M)dy - dy - B < 0
275 -2dy <= 2dxdy - 2Ndx - 2dxdy + 2Mdy - dy - B < 0
276 -2dy <= 2Mdy - 2Ndx - dy - B < 0
277 2Mdy >= 2Ndx + dy + B - 2dy 2Mdy < 2Ndx + dy + B
278 2Mdy >= 2Ndx - dy + B M < (2Ndx + dy + B) / 2dy
279 M >= (2Ndx - dy + B) / 2dy
283 M = ceiling((2Ndx - dy + B) / 2dy)
284 = floor((2Ndx - dy + B + 2dy - 1) / 2dy)
285 = floor((2Ndx + dy + B - 1) / 2dy)
292 M = ceiling((2Ndx + dy + B) / 2dy) - 1
293 = floor((2Ndx + dy + B + 2dy - 1) / 2dy) - 1
294 = floor((2Ndx + dy + B + 2dy - 1 - 2dy) / 2dy)
295 = floor((2Ndx + dy + B - 1) / 2dy)
299 1: X major move x1 to x1+M floor((2Mdy + dx - B) / 2dx)
300 1b: X major move x2 to x1+M floor((2Mdy + dx - B) / 2dx)
301 2: X major move x2 to x2-M floor((2Mdy + dx + B - 1) / 2dx)
302 2b: X major move x1 to x2-M floor((2Mdy + dx + B - 1) / 2dx)
304 3: Y major move x1 to x1+M floor((2Mdy - dy + B - 1) / 2dx) + 1
305 3b: Y major move x2 to x1+M floor((2Mdy + dy + B - 1) / 2dx)
306 4: Y major move x2 to x2-M floor((2Mdy - dy - B) / 2dx) + 1
307 4b: Y major move x1 to x2-M floor((2Mdy + dy - B) / 2dx)
309 5: X major move y1 to y1+N floor((2Ndx - dx + B - 1) / 2dy) + 1
310 5b: X major move y2 to y1+N floor((2Ndx + dx + B - 1) / 2dy)
311 6: X major move y2 to y2-N floor((2Ndx - dx - B) / 2dy) + 1
312 6b: X major move y1 to y2-N floor((2Ndx + dx - B) / 2dy)
314 7: Y major move y1 to y1+N floor((2Ndx + dy - B) / 2dy)
315 7b: Y major move y2 to y1+N floor((2Ndx + dy - B) / 2dy)
316 8: Y major move y2 to y2-N floor((2Ndx + dy + B - 1) / 2dy)
317 8b: Y major move y1 to y2-N floor((2Ndx + dy + B - 1) / 2dy)
321 0 < M,N <= 2^15 2^15 can be imposed by miZeroClipLine
322 0 <= dx/dy <= 2^16 - 1
334 bias. Thus, we have to show that the 2MNdxy +/- dxy terms are all >= 1
337 For X Major lines we know that dx > 0 and since 2Mdy is >= 0 due to the
340 For the second four equations, M > 0, so 2Mdy >= 2dy so (2Mdy - dy) >= dy
341 So (2Mdy - dy) > 0, since they are Y major lines. Also, (2Mdy + dy) >= 3dy
342 or (2Mdy + dy) > 0. So all of their numerators are >= 0.
344 For the third set of four equations, N > 0, so 2Ndx >= 2dx so (2Ndx - dx)
345 >= dx > 0. Similarly (2Ndx + dx) >= 3dx > 0. So all numerators >= 0.
347 For the fourth set of equations, dy > 0 and 2Ndx >= 0, so all numerators
350 To consider overflow, consider the case of 2 * M,N * dx,dy + dx,dy. This
351 is bounded <= 2 * 2^15 * (2^16 - 1) + (2^16 - 1)
352 <= 2^16 * (2^16 - 1) + (2^16 - 1)
353 <= 2^32 - 2^16 + 2^16 - 1
354 <= 2^32 - 1
356 the numerator is therefore (2^32 - 1), which does not overflow an unsigned
367 #define T_SUBDXORY (1 << 2)
567 utmp <<= 1; /* utmp = 2N or 2M */ in miZeroClipLine()