com.meliorbis.numerics.generic.Reducible Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of Numerics Show documentation
Show all versions of Numerics Show documentation
A library for working with large multi-dimensional arrays and the functions they represent
package com.meliorbis.numerics.generic;
import java.util.Iterator;
import com.meliorbis.numerics.generic.impl.ReductionBase;
/**
* Interface for objects that contain a number of simpler objects which can be reduced
*
* @author Tobias Grasl
*
* @param The individual instance type
* @param The type resulting from reduction
*/
public interface Reducible
{
/**
* Performs the provided reduction operation across all elements of this object
*
* @param reduction_ The reduction to perform
*
* @param The type of exception thrown bty the reduction
*
* @return The result of the reduction
*
* @throws E If the reduction fails
*/
R reduce(ReductionBase, E> reduction_) throws E;
}