| Index: third_party/cld/bar/toolbar/cld/i18n/encodings/compact_lang_det/tote.h
 | 
| ===================================================================
 | 
| --- third_party/cld/bar/toolbar/cld/i18n/encodings/compact_lang_det/tote.h	(revision 0)
 | 
| +++ third_party/cld/bar/toolbar/cld/i18n/encodings/compact_lang_det/tote.h	(revision 0)
 | 
| @@ -0,0 +1,89 @@
 | 
| +// 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.
 | 
| +
 | 
| +#ifndef I18N_ENCODINGS_COMPACT_LANG_DET_TOTE_H_
 | 
| +#define I18N_ENCODINGS_COMPACT_LANG_DET_TOTE_H_
 | 
| +
 | 
| +#include <stdio.h>
 | 
| +#include "third_party/cld/bar/toolbar/cld/i18n/encodings/compact_lang_det/win/cld_basictypes.h"
 | 
| +
 | 
| +// Take a set of <key, value> pairs and tote them up.
 | 
| +// After explicitly sorting, retrieve top key, value pairs
 | 
| +class Tote {
 | 
| + public:
 | 
| +  Tote();
 | 
| +  ~Tote();
 | 
| +  void Reinit();
 | 
| +  void AddGram();
 | 
| +  void Add(uint8 ikey, int idelta);
 | 
| +  void AddBytes(int ibytes) {byte_count_ += ibytes;}
 | 
| +  int CurrentTopKey();
 | 
| +  void Sort(int n);
 | 
| +  void Dump(FILE* f);
 | 
| +  uint16 GetGramCount() const {return gram_count_;}
 | 
| +  uint16 GetIncrCount() const {return incr_count_;}
 | 
| +  int GetByteCount() const {return byte_count_;}
 | 
| +  int MaxSize() const {return kMaxSize_;}
 | 
| +  uint8 Key(int i) const {return key_[i];}
 | 
| +  int Value(int i) const {return value_[i];}
 | 
| +  void SetGramCount(uint16 v) {gram_count_ = v;}
 | 
| +  void SetIncrCount(uint16 v) {incr_count_ = v;}
 | 
| +  void SetKey(int i, int v) {key_[i] = v;}
 | 
| +  void SetValue(int i, int v) {value_[i] = v;}
 | 
| +
 | 
| + private:
 | 
| +  static const int kMaxSize_ = 24;
 | 
| +  uint16 gram_count_;       // Number of quadgrams/etc. scored
 | 
| +  uint16 incr_count_;       // Number of Add calls (1-3 per gram)
 | 
| +  int byte_count_;          // Bytes of text scored
 | 
| +  // Align at multiple of 8 bytes
 | 
| +  uint8 key_[kMaxSize_];    // Lang unassigned = 0, valid = 1..255
 | 
| +  int value_[kMaxSize_];    // Probability score sum
 | 
| +};
 | 
| +
 | 
| +
 | 
| +// Take a set of <key, value, reliability> triples and tote them up.
 | 
| +// After explicitly sorting, retrieve top key, value, reliability triples
 | 
| +class ToteWithReliability {
 | 
| + public:
 | 
| +  ToteWithReliability();
 | 
| +  ~ToteWithReliability();
 | 
| +  void Reinit();
 | 
| +  void Add(uint8 ikey, int ibytes, int score, int ireliability);
 | 
| +  int Find(uint8 ikey);
 | 
| +  void AddClosePair(int subscr, int val) {closepair_[subscr] += val;}
 | 
| +  int CurrentTopKey();
 | 
| +  void Sort(int n);
 | 
| +  void Dump(FILE* f);
 | 
| +
 | 
| +  ////void AddSeq(uint8 ikey) {ss_.Add(ikey);}
 | 
| +  ////void ExtractSeq(int n, uint8* dst) {ss_.Extract(n, dst);}
 | 
| +
 | 
| +  int GetIncrCount() const {return incr_count_;}
 | 
| +  int GetClosePair(int subscr) const {return closepair_[subscr];}
 | 
| +  int MaxSize() const {return kMaxSize_;}
 | 
| +  uint8 Key(int i) const {return key_[i];}
 | 
| +  int Value(int i) const {return value_[i];}
 | 
| +  int Score(int i) const {return score_[i];}
 | 
| +  int Reliability(int i) const {return reliability_[i];}
 | 
| +  void SetKey(int i, int v) {key_[i] = v;}
 | 
| +  void SetValue(int i, int v) {value_[i] = v;}
 | 
| +  void SetScore(int i, int v) {score_[i] = v;}
 | 
| +  void SetReliability(int i, int v) {reliability_[i] = v;}
 | 
| +
 | 
| + private:
 | 
| +  static const int kMaxSize_ = 24;
 | 
| +  static const int kMaxClosePairSize_ = 8;
 | 
| +  int incr_count_;         // Number of Add calls
 | 
| +  int sorted_;             // Contents have been sorted, cannot Add
 | 
| +  // Align at multiple of 8 bytes
 | 
| +  int closepair_[kMaxClosePairSize_];
 | 
| +  uint8 key_[kMaxSize_];    // Lang unassigned = 0, valid = 1..255
 | 
| +  int value_[kMaxSize_];    // Bytecount this lang
 | 
| +  int score_[kMaxSize_];    // Probability score sum
 | 
| +  int reliability_[kMaxSize_];  // Percentage 0..100
 | 
| +  ////SubsetSequence ss_;
 | 
| +};
 | 
| +
 | 
| +#endif  // I18N_ENCODINGS_COMPACT_LANG_DET_TOTE_H_
 | 
| 
 | 
| Property changes on: third_party\cld\bar\toolbar\cld\i18n\encodings\compact_lang_det\tote.h
 | 
| ___________________________________________________________________
 | 
| Added: svn:eol-style
 | 
|    + LF
 | 
| 
 | 
| 
 |