Lines Matching refs:data
23 // - 2-bit: best fit for our data. Packs extremely well.
25 // - 8-bit: way too large (an 8-bit LUT plus an 8-bit data table is as big as a 16-bit table)
44 std::vector<int> data;
47 std::vector<int> data;
53 const std::vector<int>& data,
70 for (size_t index = 0; index < data.size(); ++index) {
71 int value = data[index];
73 result.data.push_back(translationTable[value]);
78 if (entries->at(index).v == result.v && entries->at(index).data == result.data) {
89 const std::vector<int>& data,
91 // Create a full entry with this data.
93 result.data = std::vector<int>(data.begin(), data.end());
97 if (entries->at(index).data == result.data) {
112 // Assemble our compact and full data tables, and an index into them.
121 std::vector<int> data(numTransitions);
126 data[t] = value;
133 // This transition table was completely empty (every value was zero). No data needed;
139 int index = add_compact_entry(transitionSet, data, &compactEntries);
143 int index = add_full_entry(transitionSet, data, &fullEntries);
162 << " State data[" << numTransitions << "];\n"
174 out << " uint8_t data[" << std::ceil(float(numTransitions) / float(kDataPerByte)) << "];\n"
177 // Emit the full-table data.
181 for (int value : entry.data) {
188 // Emit the compact-table data.
200 combinedBits |= entry.data[index] << shiftBits;
224 << " if (index.type == 1) { return kFull[index.pos].data[transition]; }\n"
226 << " int value = entry.data[transition >> " << std::log2(kDataPerByte) << "];\n"