1 
2 // Licensed under the Apache License, Version 2.0 (the "License");
3 // you may not use this file except in compliance with the License.
4 // You may obtain a copy of the License at
5 //
6 //     http://www.apache.org/licenses/LICENSE-2.0
7 //
8 // Unless required by applicable law or agreed to in writing, software
9 // distributed under the License is distributed on an "AS IS" BASIS,
10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 // See the License for the specific language governing permissions and
12 // limitations under the License.
13 //
14 // Copyright 2005-2010 Google, Inc.
15 // Author: jpr@google.com (Jake Ratkiewicz)
16 
17 #include <fst/extensions/far/compile-strings.h>
18 #include <iostream>
19 #include <fstream>
20 #include <sstream>
21 
22 DEFINE_string(far_field_separator, "\t",
23               "Set of characters used as a separator between printed fields");
24 
25 namespace fst {
26 
27 // Compute the minimal length required to
28 // encode each line number as a decimal number
KeySize(const char * filename)29 int KeySize(const char *filename) {
30   ifstream istrm(filename);
31   istrm.seekg(0);
32   string s;
33   int nline = 0;
34   while (getline(istrm, s))
35     ++nline;
36   istrm.seekg(0);
37   return nline ? ceil(log10(nline + 1)) : 1;
38 }
39 
40 }  // namespace fst
41