package org.etsi.mts.tdl.execution.java.tri;

public interface PredefinedFunctions {

	boolean equals(Data<?, ?> d0, Data<?, ?> d1);

	boolean notEquals(Data<?, ?> d0, Data<?, ?> d1);

	boolean and(boolean b0, boolean b1);

	boolean or(boolean b0, boolean b1);

	boolean xor(boolean b0, boolean b1);

	boolean not(boolean b);

	boolean lt(int i0, int i1);

	boolean gt(int i0, int i1);

	boolean lteq(int i0, int i1);

	boolean gteq(int i0, int i1);

	boolean lt(long i0, long i1);

	boolean gt(long i0, long i1);

	boolean lteq(long i0, long i1);

	boolean gteq(long i0, long i1);

	int plus(int i0, int i1);

	int minus(int i0, int i1);

	int multiply(int i0, int i1);

	int divide(int i0, int i1);

	int mod(int i0, int i1);

	long plus(long i0, long i1);

	long minus(long i0, long i1);

	long multiply(long i0, long i1);

	long divide(long i0, long i1);

	long mod(long i0, long i1);

	/**
	 * @param collection An object that a CollectionDataInstance is mapped to.
	 */
	int size(Data<?, ?> collection);

}