| // Copyright 2013 Google Inc. All Rights Reserved. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // |
| // Author: dsites@google.com (Dick Sites) |
| // |
| // Stuff used only by online detector, not used offline |
| // |
| |
| #ifndef I18N_ENCODINGS_CLD2_INTERNAL_NEW_CLDUTIL_H__ |
| #define I18N_ENCODINGS_CLD2_INTERNAL_NEW_CLDUTIL_H__ |
| |
| #include "cldutil_shared.h" |
| #include "scoreonescriptspan.h" |
| #include "tote.h" |
| |
| namespace CLD2 { |
| |
| // Score up to 64KB of a single script span in one pass |
| // Make a dummy entry off the end to calc length of last span |
| // Return offset of first unused input byte |
| int GetUniHits(const char* text, |
| int letter_offset, int letter_limit, |
| ScoringContext* scoringcontext, |
| ScoringHitBuffer* hitbuffer); |
| |
| // Score up to 64KB of a single script span, doing both delta-bi and |
| // distinct bis in one pass |
| void GetBiHits(const char* text, |
| int letter_offset, int letter_limit, |
| ScoringContext* scoringcontext, |
| ScoringHitBuffer* hitbuffer); |
| |
| // Score up to 64KB of a single script span in one pass |
| // Make a dummy entry off the end to calc length of last span |
| // Return offset of first unused input byte |
| int GetQuadHits(const char* text, |
| int letter_offset, int letter_limit, |
| ScoringContext* scoringcontext, |
| ScoringHitBuffer* hitbuffer); |
| |
| // Score up to 64KB of a single script span, doing both delta-octa and |
| // distinct words in one pass |
| void GetOctaHits(const char* text, |
| int letter_offset, int letter_limit, |
| ScoringContext* scoringcontext, |
| ScoringHitBuffer* hitbuffer); |
| |
| // Not sure if these belong here or in scoreonescriptspan.cc |
| int ReliabilityDelta(int value1, int value2, int gramcount); |
| int ReliabilityExpected(int actual_score_1kb, int expected_score_1kb); |
| |
| // Create a langprob packed value from its parts. |
| uint32 MakeLangProb(Language lang, int qprob); |
| |
| |
| void ProcessProbV2Tote(uint32 probs, Tote* tote); |
| |
| // Return score for a particular per-script language, or zero |
| int GetLangScore(uint32 probs, uint8 pslang); |
| |
| static inline int minint(int a, int b) {return (a < b) ? a: b;} |
| static inline int maxint(int a, int b) {return (a > b) ? a: b;} |
| |
| } // End namespace CLD2 |
| |
| #endif // I18N_ENCODINGS_CLD2_INTERNAL_NEW_CLDUTIL_H__ |
| |
| |