Lines Matching refs:inprops
38 uint64 ClosureProperties(uint64 inprops, bool star, bool delayed) {
39 uint64 outprops = (kError | kAcceptor | kUnweighted | kAccessible) & inprops;
42 kNotTopSorted | kNotString) & inprops;
43 if (!delayed || inprops & kAccessible)
46 kNotAccessible | kNotCoAccessible) & inprops;
51 uint64 ComplementProperties(uint64 inprops) {
56 inprops;
57 if (inprops & kAccessible)
116 uint64 DeterminizeProperties(uint64 inprops, bool has_subsequential_label) {
118 if (((kAcceptor | kNoIEpsilons) & inprops) || has_subsequential_label)
121 kInitialAcyclic | kCoAccessible | kString) & inprops;
122 if (inprops & kAccessible)
124 kCyclic) & inprops;
125 if (inprops & kAcceptor)
126 outprops |= (kNoIEpsilons | kNoOEpsilons) & inprops;
127 if ((inprops & kNoIEpsilons) && has_subsequential_label)
133 uint64 FactorWeightProperties(uint64 inprops) {
135 kAcyclic | kAccessible | kCoAccessible) & inprops;
136 if (inprops & kAccessible)
140 & inprops;
145 uint64 InvertProperties(uint64 inprops) {
152 kString | kNotString) & inprops;
153 if (kIDeterministic & inprops)
155 if (kNonIDeterministic & inprops)
157 if (kODeterministic & inprops)
159 if (kNonODeterministic & inprops)
162 if (kIEpsilons & inprops)
164 if (kNoIEpsilons & inprops)
166 if (kOEpsilons & inprops)
168 if (kNoOEpsilons & inprops)
171 if (kILabelSorted & inprops)
173 if (kNotILabelSorted & inprops)
175 if (kOLabelSorted & inprops)
177 if (kNotOLabelSorted & inprops)
183 uint64 ProjectProperties(uint64 inprops, bool project_input) {
189 kString | kNotString) & inprops;
193 kILabelSorted | kNotILabelSorted) & inprops;
195 if (kIDeterministic & inprops)
197 if (kNonIDeterministic & inprops)
200 if (kIEpsilons & inprops)
202 if (kNoIEpsilons & inprops)
205 if (kILabelSorted & inprops)
207 if (kNotILabelSorted & inprops)
212 kOLabelSorted | kNotOLabelSorted) & inprops;
214 if (kODeterministic & inprops)
216 if (kNonODeterministic & inprops)
219 if (kOEpsilons & inprops)
221 if (kNoOEpsilons & inprops)
224 if (kOLabelSorted & inprops)
226 if (kNotOLabelSorted & inprops)
233 uint64 RandGenProperties(uint64 inprops, bool weighted) {
235 outprops |= inprops & kError;
241 kILabelSorted | kOLabelSorted) & inprops;
244 outprops |= (kAcceptor | kILabelSorted | kOLabelSorted) & inprops;
250 uint64 ReplaceProperties(const vector<uint64>& inprops,
254 if (inprops.size() == 0)
257 for (size_t i = 0; i < inprops.size(); ++i)
258 outprops |= kError & inprops[i];
260 for (size_t i = 0; i < inprops.size(); ++i)
261 access_props &= (inprops[i] & (kAccessible | kCoAccessible));
264 if (inprops[root] & kInitialCyclic)
268 for (size_t i = 0; i < inprops.size(); ++i) {
270 props |= kNotAcceptor & inprops[i];
273 kNotTopSorted | kNotString) & inprops[i];
274 if (!(inprops[i] & kString))
286 for (size_t i = 0; i < inprops.size(); ++i) {
287 if (!(inprops[i] & kAcceptor))
289 if (!(inprops[i] & kIDeterministic))
291 if (!(inprops[i] & kNoIEpsilons))
293 if (!(inprops[i] & kAcyclic))
295 if (!(inprops[i] & kUnweighted))
308 if (inprops[root] & kInitialAcyclic)
314 uint64 RelabelProperties(uint64 inprops) {
322 kString | kNotString) & inprops;
327 uint64 ReverseProperties(uint64 inprops) {
331 kCyclic | kAcyclic) & inprops;
336 uint64 ReweightProperties(uint64 inprops) {
337 uint64 outprops = inprops & kWeightInvariantProperties;
343 uint64 RmEpsilonProperties(uint64 inprops, bool delayed) {
345 outprops |= (kError | kAcceptor | kAcyclic | kInitialAcyclic) & inprops;
346 if (inprops & kAcceptor)
350 outprops |= kTopSorted & inprops;
352 if (!delayed || inprops & kAccessible)
353 outprops |= kNotAcceptor & inprops;
365 uint64 SynchronizeProperties(uint64 inprops) {
367 kCoAccessible | kUnweighted) & inprops;
368 if (inprops & kAccessible)
369 outprops |= (kCyclic | kNotCoAccessible | kWeighted) & inprops;