static public ATermAppl[] toArray(final ATermList list) { final ATermAppl[] a = new ATermAppl[list.getLength()]; int i = 0; for (final ATerm term : list) { a[i] = (ATermAppl) term; i++; } return a; }
static public ATermAppl[] toArray(final ATermList list) { final ATermAppl[] a = new ATermAppl[list.getLength()]; int i = 0; for (final ATerm term : list) { a[i] = (ATermAppl) term; i++; } return a; }
public void visitList(final ATermList list, final String op) { int size = list.getLength(); for (final ATerm term : list) { visit((ATermAppl) term); size--; if (size != 0) _out.print(" " + op + " "); } }
protected void init(final int hashCode, final ATerm first, final ATermList next) { super.init(hashCode); _first = first; _next = next; if (first == null && next == null) _length = 0; else _length = 1 + next.getLength(); }
public void visitList(final ATermList list, final String op) { int size = list.getLength(); for (final ATerm term : list) { visit((ATermAppl) term); size--; if (size != 0) _out.print(" " + op + " "); } }
@Override public ATermAppl makeApplList(final AFun fun, final ATermList list) { final ATerm[] arg_array = new ATerm[list.getLength()]; int i = 0; for (final ATerm term : list) arg_array[i++] = term; return makeAppl(fun, arg_array); }
/** * Serializes the given list. List information will always be serialized in one piece. * * @see openllet.aterm.ATermFwdVoid#voidVisitList(ATermList) */ @Override public void voidVisitList(final ATermList arg) { final byte header = getHeader(arg); _currentBuffer.put(header); writeInt(arg.getLength()); }
public static ATermList normalize(final ATermList list) { final int size = list.getLength(); final ATerm[] terms = new ATerm[size]; int i = 0; for (final ATerm term : list) { terms[i] = normalize((ATermAppl) term); i++; } return toSet(terms, size); }
public static ATermList normalize(final ATermList list) { final int size = list.getLength(); final ATerm[] terms = new ATerm[size]; int i = 0; for (final ATerm term : list) { terms[i] = normalize((ATermAppl) term); i++; } return toSet(terms, size); }
protected ATermListImpl(final PureFactory factory, final ATerm first, final ATermList next) { super(factory); _first = first; _next = next; if (first == null && next == null) _length = 0; else _length = 1 + next.getLength(); setHashCode(hashFunction()); }
@Override public void voidVisitList(final ATermList list) { int length = list.getLength(); for (final ATerm term : list) { voidVisitChild(term); length--; if (length > 0) { stream.write(','); position++; } } }
/** * depricated Use the new constructor instead. * * @param annos x * @param _first x * @param _next x */ protected void initHashCode(final ATerm first, final ATermList next) { _first = first; _next = next; setHashCode(hashFunction()); if (first == null && next == null) _length = 0; else _length = 1 + next.getLength(); }
final static public ATermAppl makeAllValues(final ATerm r, final ATerm c) { final ATerm arg1; if (r.getType() == ATerm.LIST) { final ATermList list = (ATermList) r; arg1 = list.getLength() == 1 ? list.getFirst() : r; } else arg1 = r; return factory.makeAppl(ALLFUN, arg1, c); }
final static public ATermAppl makeAllValues(final ATerm r, final ATerm c) { final ATerm arg1; if (r.getType() == ATerm.LIST) { final ATermList list = (ATermList) r; arg1 = list.getLength() == 1 ? list.getFirst() : r; } else arg1 = r; return factory.makeAppl(ALLFUN, arg1, c); }
public void testPrimes(final int n) { final TestPrimes t = TestPrimes.newTestPrimes(_factory); final long start = System.currentTimeMillis(); final ATermList l = t.getPrimes(n); final long end = System.currentTimeMillis(); System.out.println("primes(" + n + ") in " + (end - start) + " ms"); System.out.println(" primes(" + n + ") = " + l); System.out.println("#primes(" + n + ") = " + l.getLength()); // System.out.println(factory); }
final static public boolean isTransitiveChain(final ATermList chain, final ATerm r) { return chain.getLength() == 2 && chain.getFirst().equals(r) && chain.getLast().equals(r); }
final static public boolean isTransitiveChain(final ATermList chain, final ATerm r) { return chain.getLength() == 2 && chain.getFirst().equals(r) && chain.getLast().equals(r); }
static public ATermList toSet(final ATermList list) { if (isSet(list)) return list; final int size = list.getLength(); ATerm[] a = toArray(list); if (a == null || a.length < size) a = new ATerm[Math.max(100, size)]; Arrays.sort(a, 0, size, Comparators.termComparator); ATermList set = makeList(a[size - 1]); for (int i = size - 2; i >= 0; i--) { final ATerm s = set.getFirst(); if (!s.equals(a[i])) set = set.insert(a[i]); } return set; }
static public ATermList toSet(final ATermList list) { if (isSet(list)) return list; final int size = list.getLength(); ATerm[] a = toArray(list); if (a == null || a.length < size) a = new ATerm[Math.max(100, size)]; Arrays.sort(a, 0, size, Comparators.termComparator); ATermList set = makeList(a[size - 1]); for (int i = size - 2; i >= 0; i--) { final ATerm s = set.getFirst(); if (!s.equals(a[i])) set = set.insert(a[i]); } return set; }
@Test public void test1() { assertTrue(getPrimes(30) == _factory.parse("[1,2,3,5,7,11,13,17,19,23,29]")); assertTrue(getPrimes(500).getLength() == 96); }