package aalg.algebra;


/**
 * Binary function is function that takes two arguments and returns result.
 * After release of Java 8 this interface may be replaced by java.util.function.BiFunction.
 * @author Ing. Petr Ležák
 *
 * @param <T> type of result
 * @param <U> type of first argument
 * @param <V> type of second argument
 */
public interface BinaryFunction<T, U, V> {
	
	/**
	 * Applies function to arguments.
	 * @param u first argument
	 * @param v second argument
	 * @return result
	 */
	public T apply (final U u, final V v);

}
