// Copyright 2014 PDFium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com #ifndef XFA_FGAS_CRT_FGAS_ALGORITHM_H_ #define XFA_FGAS_CRT_FGAS_ALGORITHM_H_ #include #include "core/fxcrt/include/fx_basic.h" template class CFX_DSPATemplate { public: int32_t Lookup(const baseType& find, const baseType* pArray, int32_t iCount) { ASSERT(pArray); if (iCount < 1) return -1; int32_t iStart = 0, iEnd = iCount - 1, iMid; do { iMid = (iStart + iEnd) / 2; const baseType& v = pArray[iMid]; if (find == v) return iMid; if (find < v) iEnd = iMid - 1; else iStart = iMid + 1; } while (iStart <= iEnd); return -1; } }; #endif // XFA_FGAS_CRT_FGAS_ALGORITHM_H_