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

Side by Side Diff: src/pathops/SkPathOpsTypes.h

Issue 1522183002: only call scalar finite when necessary (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years 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
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 #ifndef SkPathOpsTypes_DEFINED 7 #ifndef SkPathOpsTypes_DEFINED
8 #define SkPathOpsTypes_DEFINED 8 #define SkPathOpsTypes_DEFINED
9 9
10 #include <float.h> // for FLT_EPSILON 10 #include <float.h> // for FLT_EPSILON
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 float fDebugWorstWeight[6]; 160 float fDebugWorstWeight[6];
161 #endif 161 #endif
162 }; 162 };
163 163
164 // Use Almost Equal when comparing coordinates. Use epsilon to compare T values. 164 // Use Almost Equal when comparing coordinates. Use epsilon to compare T values.
165 bool AlmostEqualUlps(float a, float b); 165 bool AlmostEqualUlps(float a, float b);
166 inline bool AlmostEqualUlps(double a, double b) { 166 inline bool AlmostEqualUlps(double a, double b) {
167 return AlmostEqualUlps(SkDoubleToScalar(a), SkDoubleToScalar(b)); 167 return AlmostEqualUlps(SkDoubleToScalar(a), SkDoubleToScalar(b));
168 } 168 }
169 169
170 bool AlmostEqualUlps_Pin(float a, float b);
reed1 2015/12/15 14:17:21 Pin didn't convey anything obvious to me when I sa
171 inline bool AlmostEqualUlps_Pin(double a, double b) {
172 return AlmostEqualUlps_Pin(SkDoubleToScalar(a), SkDoubleToScalar(b));
173 }
174
170 // Use Almost Dequal when comparing should not special case denormalized values. 175 // Use Almost Dequal when comparing should not special case denormalized values.
171 bool AlmostDequalUlps(float a, float b); 176 bool AlmostDequalUlps(float a, float b);
172 bool AlmostDequalUlps(double a, double b); 177 bool AlmostDequalUlps(double a, double b);
173 178
174 bool NotAlmostEqualUlps(float a, float b); 179 bool NotAlmostEqualUlps(float a, float b);
175 inline bool NotAlmostEqualUlps(double a, double b) { 180 inline bool NotAlmostEqualUlps(double a, double b) {
176 return NotAlmostEqualUlps(SkDoubleToScalar(a), SkDoubleToScalar(b)); 181 return NotAlmostEqualUlps(SkDoubleToScalar(a), SkDoubleToScalar(b));
177 } 182 }
178 183
184 bool NotAlmostEqualUlps_Pin(float a, float b);
185 inline bool NotAlmostEqualUlps_Pin(double a, double b) {
186 return NotAlmostEqualUlps_Pin(SkDoubleToScalar(a), SkDoubleToScalar(b));
187 }
188
179 bool NotAlmostDequalUlps(float a, float b); 189 bool NotAlmostDequalUlps(float a, float b);
180 inline bool NotAlmostDequalUlps(double a, double b) { 190 inline bool NotAlmostDequalUlps(double a, double b) {
181 return NotAlmostDequalUlps(SkDoubleToScalar(a), SkDoubleToScalar(b)); 191 return NotAlmostDequalUlps(SkDoubleToScalar(a), SkDoubleToScalar(b));
182 } 192 }
183 193
184 // Use Almost Bequal when comparing coordinates in conjunction with between. 194 // Use Almost Bequal when comparing coordinates in conjunction with between.
185 bool AlmostBequalUlps(float a, float b); 195 bool AlmostBequalUlps(float a, float b);
186 inline bool AlmostBequalUlps(double a, double b) { 196 inline bool AlmostBequalUlps(double a, double b) {
187 return AlmostBequalUlps(SkDoubleToScalar(a), SkDoubleToScalar(b)); 197 return AlmostBequalUlps(SkDoubleToScalar(a), SkDoubleToScalar(b));
188 } 198 }
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 */ 536 */
527 inline int SkDSideBit(double x) { 537 inline int SkDSideBit(double x) {
528 return 1 << SKDSide(x); 538 return 1 << SKDSide(x);
529 } 539 }
530 540
531 inline double SkPinT(double t) { 541 inline double SkPinT(double t) {
532 return precisely_less_than_zero(t) ? 0 : precisely_greater_than_one(t) ? 1 : t; 542 return precisely_less_than_zero(t) ? 0 : precisely_greater_than_one(t) ? 1 : t;
533 } 543 }
534 544
535 #endif 545 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698