16bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi/* 26bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * Copyright (C) 2013, The Android Open Source Project 36bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * 46bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * Licensed under the Apache License, Version 2.0 (the "License"); 56bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * you may not use this file except in compliance with the License. 66bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * You may obtain a copy of the License at 76bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * 86bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * http://www.apache.org/licenses/LICENSE-2.0 96bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * 106bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * Unless required by applicable law or agreed to in writing, software 116bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * distributed under the License is distributed on an "AS IS" BASIS, 126bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * See the License for the specific language governing permissions and 146bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * limitations under the License. 156bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi */ 166bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi 176bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi/* 186bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * !!!!! DO NOT EDIT THIS FILE !!!!! 196bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * 206bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi * This file was generated from 2188bc312ad34321fb3e81be2dc939a889d065f4a7Keisuke Kuroyanagi * dictionary/structure/v4/ver4_dict_constants.cpp 226bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi */ 236bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi 2488bc312ad34321fb3e81be2dc939a889d065f4a7Keisuke Kuroyanagi#include "dictionary/structure/backward/v402/ver4_dict_constants.h" 256bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi 266bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanaginamespace latinime { 276bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanaginamespace backward { 2807e14126318f7661f76fdce421d723d64e7ea8deKeisuke Kuroyanaginamespace v402 { 296bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi 306bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi// These values MUST match the definitions in FormatSpec.java. 316bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst char *const Ver4DictConstants::TRIE_FILE_EXTENSION = ".trie"; 326bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst char *const Ver4DictConstants::HEADER_FILE_EXTENSION = ".header"; 336bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst char *const Ver4DictConstants::FREQ_FILE_EXTENSION = ".freq"; 346bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi// tat = Terminal Address Table 356bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst char *const Ver4DictConstants::TERMINAL_ADDRESS_TABLE_FILE_EXTENSION = ".tat"; 366bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst char *const Ver4DictConstants::BIGRAM_FILE_EXTENSION = ".bigram_freq"; 376bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst char *const Ver4DictConstants::BIGRAM_LOOKUP_TABLE_FILE_EXTENSION = ".bigram_lookup"; 386bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst char *const Ver4DictConstants::BIGRAM_CONTENT_TABLE_FILE_EXTENSION = ".bigram_index_freq"; 396bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst char *const Ver4DictConstants::SHORTCUT_FILE_EXTENSION = ".shortcut_shortcut"; 406bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst char *const Ver4DictConstants::SHORTCUT_LOOKUP_TABLE_FILE_EXTENSION = ".shortcut_lookup"; 416bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst char *const Ver4DictConstants::SHORTCUT_CONTENT_TABLE_FILE_EXTENSION = 426bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi ".shortcut_index_shortcut"; 436bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi 446bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi// Version 4 dictionary size is implicitly limited to 8MB due to 3-byte offsets. 456bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::MAX_DICTIONARY_SIZE = 8 * 1024 * 1024; 466bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi// Extended region size, which is not GCed region size in dict file + additional buffer size, is 476bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi// limited to 1MB to prevent from inefficient traversing. 486bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::MAX_DICT_EXTENDED_REGION_SIZE = 1 * 1024 * 1024; 496bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi 506bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::NOT_A_TERMINAL_ID = -1; 516bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::PROBABILITY_SIZE = 1; 526bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::FLAGS_IN_PROBABILITY_FILE_SIZE = 1; 536bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::TERMINAL_ADDRESS_TABLE_ADDRESS_SIZE = 3; 546bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::NOT_A_TERMINAL_ADDRESS = 0; 556bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::TERMINAL_ID_FIELD_SIZE = 4; 566bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::TIME_STAMP_FIELD_SIZE = 4; 576bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::WORD_LEVEL_FIELD_SIZE = 1; 586bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::WORD_COUNT_FIELD_SIZE = 1; 596bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi 606bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::BIGRAM_ADDRESS_TABLE_BLOCK_SIZE = 16; 616bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::BIGRAM_ADDRESS_TABLE_DATA_SIZE = 4; 626bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::SHORTCUT_ADDRESS_TABLE_BLOCK_SIZE = 64; 636bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::SHORTCUT_ADDRESS_TABLE_DATA_SIZE = 4; 646bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi 656bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::BIGRAM_TARGET_TERMINAL_ID_FIELD_SIZE = 3; 666bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi// Unsigned int max value of BIGRAM_TARGET_TERMINAL_ID_FIELD_SIZE-byte is used for representing 676bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi// invalid terminal ID in bigram lists. 686bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::INVALID_BIGRAM_TARGET_TERMINAL_ID = 696bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi (1 << (BIGRAM_TARGET_TERMINAL_ID_FIELD_SIZE * 8)) - 1; 706bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::BIGRAM_FLAGS_FIELD_SIZE = 1; 716bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::BIGRAM_PROBABILITY_MASK = 0x0F; 726bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::BIGRAM_HAS_NEXT_MASK = 0x80; 736bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::BIGRAM_LARGE_PROBABILITY_FIELD_SIZE = 1; 746bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi 756bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::SHORTCUT_FLAGS_FIELD_SIZE = 1; 766bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::SHORTCUT_PROBABILITY_MASK = 0x0F; 776bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagiconst int Ver4DictConstants::SHORTCUT_HAS_NEXT_MASK = 0x80; 786bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi 7907e14126318f7661f76fdce421d723d64e7ea8deKeisuke Kuroyanagi} // namespace v402 806bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi} // namespace backward 816bf268132d60061fd26bd8cba63a12b56b22056eKeisuke Kuroyanagi} // namespace latinime 82