Exemple #1
0
 @Override
 public VarUsage count(final Var v) {
   final VarUsage inPreds = super.count(v), inRoot = root.count(v);
   if (inPreds == VarUsage.NEVER) return inRoot;
   final long sz = root.size();
   return sz >= 0 && sz <= 1 || root.type().zeroOrOne()
       ? inRoot.plus(inPreds)
       : VarUsage.MORE_THAN_ONCE;
 }
Exemple #2
0
 @Override
 public VarUsage count(final Var var) {
   return ts.count(var).plus(VarUsage.maximum(var, cases));
 }
Exemple #3
0
 @Override
 public VarUsage count(final Var var) {
   final VarUsage inRoot = root == null ? VarUsage.NEVER : root.count(var);
   return VarUsage.sum(var, steps) == VarUsage.NEVER ? inRoot : VarUsage.MORE_THAN_ONCE;
 }
Exemple #4
0
 @Override
 public VarUsage count(final Var var) {
   return occ != null ? VarUsage.sum(var, occ).plus(query.count(var)) : query.count(var);
 }