for (final ATermAppl a : dnfTypes[i]) final DataRange<?> dr = normalizeVarRanges(a); if (dr == TRIVIALLY_SATISFIABLE)
for (final ATermAppl a : dnfTypes[i]) final DataRange<?> dr = normalizeVarRanges(a); if (dr == TRIVIALLY_SATISFIABLE)
@Override public Iterator<?> valueIterator(final Collection<ATermAppl> dataranges) throws InvalidConstrainingFacetException, InvalidLiteralException, UnrecognizedDatatypeException { final ATermAppl and = ATermUtils.makeAnd(ATermUtils.makeList(dataranges)); final ATermAppl dnf = DNF.dnf(expander.expand(and, namedDataRanges)); if (ATermUtils.isOr(dnf)) { final List<DataRange<?>> disjuncts = new ArrayList<>(); for (ATermList l = (ATermList) dnf.getArgument(0); !l.isEmpty(); l = l.getNext()) disjuncts.add(normalizeVarRanges((ATermAppl) l.getFirst())); return getDisjunction(disjuncts).valueIterator(); } else return normalizeVarRanges(dnf).valueIterator(); }
@Override public Iterator<?> valueIterator(final Collection<ATermAppl> dataranges) throws InvalidConstrainingFacetException, InvalidLiteralException, UnrecognizedDatatypeException { final ATermAppl and = ATermUtils.makeAnd(ATermUtils.makeList(dataranges)); final ATermAppl dnf = DNF.dnf(expander.expand(and, namedDataRanges)); if (ATermUtils.isOr(dnf)) { final List<DataRange<?>> disjuncts = new ArrayList<>(); for (ATermList l = (ATermList) dnf.getArgument(0); !l.isEmpty(); l = l.getNext()) disjuncts.add(normalizeVarRanges((ATermAppl) l.getFirst())); return getDisjunction(disjuncts).valueIterator(); } else return normalizeVarRanges(dnf).valueIterator(); }
@Override public boolean containsAtLeast(final int n, final Collection<ATermAppl> ranges) throws UnrecognizedDatatypeException, InvalidConstrainingFacetException, InvalidLiteralException { final ATermAppl and = ATermUtils.makeAnd(ATermUtils.makeList(ranges)); final ATermAppl dnf = DNF.dnf(expander.expand(and, namedDataRanges)); if (ATermUtils.isOr(dnf)) { final List<DataRange<?>> disjuncts = new ArrayList<>(); for (ATermList l = (ATermList) dnf.getArgument(0); !l.isEmpty(); l = l.getNext()) { final DataRange<?> dr = normalizeVarRanges((ATermAppl) l.getFirst()); if (!dr.isEmpty()) disjuncts.add(dr); } return getDisjunction(disjuncts).containsAtLeast(n); } else return normalizeVarRanges(dnf).containsAtLeast(n); }
@Override public boolean containsAtLeast(final int n, final Collection<ATermAppl> ranges) throws UnrecognizedDatatypeException, InvalidConstrainingFacetException, InvalidLiteralException { final ATermAppl and = ATermUtils.makeAnd(ATermUtils.makeList(ranges)); final ATermAppl dnf = DNF.dnf(expander.expand(and, namedDataRanges)); if (ATermUtils.isOr(dnf)) { final List<DataRange<?>> disjuncts = new ArrayList<>(); for (ATermList l = (ATermList) dnf.getArgument(0); !l.isEmpty(); l = l.getNext()) { final DataRange<?> dr = normalizeVarRanges((ATermAppl) l.getFirst()); if (!dr.isEmpty()) disjuncts.add(dr); } return getDisjunction(disjuncts).containsAtLeast(n); } else return normalizeVarRanges(dnf).containsAtLeast(n); }