| Index: third_party/cld/bar/toolbar/cld/i18n/encodings/compact_lang_det/subsetsequence.h
 | 
| ===================================================================
 | 
| --- third_party/cld/bar/toolbar/cld/i18n/encodings/compact_lang_det/subsetsequence.h	(revision 0)
 | 
| +++ third_party/cld/bar/toolbar/cld/i18n/encodings/compact_lang_det/subsetsequence.h	(revision 0)
 | 
| @@ -0,0 +1,44 @@
 | 
| +// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
 | 
| +// Use of this source code is governed by a BSD-style license that can be
 | 
| +// found in the LICENSE file.
 | 
| +
 | 
| +// Remember a subset of a sequence of values, using a modest amount of memory
 | 
| +
 | 
| +#ifndef I18N_ENCODINGS_COMPACT_LANG_DET_SUBSETSEQUENCE_H_
 | 
| +#define I18N_ENCODINGS_COMPACT_LANG_DET_SUBSETSEQUENCE_H_
 | 
| +
 | 
| +#include "third_party/cld/bar/toolbar/cld/i18n/encodings/compact_lang_det/win/cld_basictypes.h"
 | 
| +#include "third_party/cld/bar/toolbar/cld/i18n/encodings/compact_lang_det/win/cld_google.h"
 | 
| +
 | 
| +
 | 
| +class SubsetSequence {
 | 
| + public:
 | 
| +   void Init();
 | 
| +   void Add(uint8 e);
 | 
| +   void Extract(int n, uint8* dst);
 | 
| +   SubsetSequence() {Init();}
 | 
| +   ~SubsetSequence() {};
 | 
| +
 | 
| + private:
 | 
| +   uint8 Median3(int sub);
 | 
| +   void NewLevel();
 | 
| +   void DoCarries();
 | 
| +   void Flush();
 | 
| +
 | 
| +   static const int kMaxLevel_ = 16;    // 3**16 ~=  43M (3**20 ~= 3.4B)
 | 
| +   static const int kMaxSeq_ = 128;
 | 
| +
 | 
| +   int k_;
 | 
| +   int next_e_;
 | 
| +   int limit_e_;
 | 
| +   int level_limit_e_;
 | 
| +   uint8 seq_[kMaxSeq_];
 | 
| +   uint8 count_[kMaxLevel_ + 1];        // +1 allows graceful overflow
 | 
| +
 | 
| +   DISALLOW_EVIL_CONSTRUCTORS(SubsetSequence);
 | 
| +
 | 
| +   // Require enough room to end up with 40 entries plus carrying space
 | 
| +   COMPILE_ASSERT(kMaxSeq_ >= (kMaxLevel_ * 2 + 40), kMaxSeq__is_too_small);
 | 
| +};
 | 
| +
 | 
| +#endif  // I18N_ENCODINGS_COMPACT_LANG_DET_SUBSETSEQUENCE_H_
 | 
| 
 | 
| Property changes on: third_party\cld\bar\toolbar\cld\i18n\encodings\compact_lang_det\subsetsequence.h
 | 
| ___________________________________________________________________
 | 
| Added: svn:eol-style
 | 
|    + LF
 | 
| 
 | 
| 
 |