55 :
56 m_name(name)
57{
58 for (uint32_t group = 0; group < 2; group++) {
59 uint32_t iBegin = group * 24;
60 uint32_t iEnd = (group + 1) * 24;
61 uint32_t jBegin = group * window;
62 uint32_t jEnd = (group + 1) * window;
63 for (uint32_t i = iBegin, mask = 1; i < iEnd; i++, mask <<= 1) {
64 uint32_t num_One = 0, num_Zero = 0;
65 for (uint32_t j = jBegin; j < jEnd; j++) {
66 if ((data[j] & mask) != 0) {
67 num_One++;
68 }
69 else {
70 if (num_One == 0) num_Zero++;
71 }
72 }
73 m_num_One[i] = num_One;
74 m_num_Zero[i] = num_Zero;
75 }
76 }
77
78 for (uint32_t i = 0; i < 48; i++) {
79 if (m_num_One[i] != 0) m_condList.push_back(i);
80 }
81}