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

Unified Diff: src/pathops/TSearch.h

Issue 14034014: path ops -- use standard SkTQSort (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
« src/pathops/SkPathOpsCommon.cpp ('K') | « src/pathops/SkPathOpsCommon.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/pathops/TSearch.h
===================================================================
--- src/pathops/TSearch.h (revision 8745)
+++ src/pathops/TSearch.h (working copy)
@@ -1,101 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#ifndef TSearch_DEFINED
-#define TSearch_DEFINED
-
-// FIXME: Move this templated version into SKTSearch.h
-
-template <typename T>
-static T* QSort_Partition(T* left, T* right, T* pivot)
-{
- T pivotValue = *pivot;
- SkTSwap(*pivot, *right);
- T* newPivot = left;
- while (left < right) {
- if (*left < pivotValue) {
- SkTSwap(*left, *newPivot);
- newPivot += 1;
- }
- left += 1;
- }
- SkTSwap(*newPivot, *right);
- return newPivot;
-}
-
-template <typename T>
-void QSort(T* left, T* right)
-{
- if (left >= right) {
- return;
- }
- T* pivot = left + ((right - left) >> 1);
- pivot = QSort_Partition(left, right, pivot);
- QSort(left, pivot - 1);
- QSort(pivot + 1, right);
-}
-
-template <typename T>
-static T** QSort_Partition(T** left, T** right, T** pivot)
-{
- T* pivotValue = *pivot;
- SkTSwap(*pivot, *right);
- T** newPivot = left;
- while (left < right) {
- if (**left < *pivotValue) {
- SkTSwap(*left, *newPivot);
- newPivot += 1;
- }
- left += 1;
- }
- SkTSwap(*newPivot, *right);
- return newPivot;
-}
-
-template <typename T>
-void QSort(T** left, T** right)
-{
- if (left >= right) {
- return;
- }
- T** pivot = left + ((right - left) >> 1);
- pivot = QSort_Partition(left, right, pivot);
- QSort(left, pivot - 1);
- QSort(pivot + 1, right);
-}
-
-template <typename S, typename T>
-static T* QSort_Partition(S& context, T* left, T* right, T* pivot,
- bool (*lessThan)(S&, const T, const T))
-{
- T pivotValue = *pivot;
- SkTSwap(*pivot, *right);
- T* newPivot = left;
- while (left < right) {
- if (lessThan(context, *left, pivotValue)) {
- SkTSwap(*left, *newPivot);
- newPivot += 1;
- }
- left += 1;
- }
- SkTSwap(*newPivot, *right);
- return newPivot;
-}
-
-template <typename S, typename T>
-void QSort(S& context, T* left, T* right,
- bool (*lessThan)(S& , const T, const T))
-{
- if (left >= right) {
- return;
- }
- T* pivot = left + ((right - left) >> 1);
- pivot = QSort_Partition(context, left, right, pivot, lessThan);
- QSort(context, left, pivot - 1, lessThan);
- QSort(context, pivot + 1, right, lessThan);
-}
-
-#endif
« src/pathops/SkPathOpsCommon.cpp ('K') | « src/pathops/SkPathOpsCommon.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698