com.meliorbis.numerics.generic.Acrossable 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;
/**
* Interface for objects that have multiple dimensions and can have operations applied across those dimensions
*
* @author Tobias Grasl
*
* @param The underlying type and also the return type of reductions
* @param The return type of mappings
*/
public interface Acrossable>
extends MappableReducible
{
/**
* @return The number of dimensions in this object
*/
int numberOfDimensions();
/**
* Returns an operand that will cause operations applied to it to be performed separately for each orthogonal point
* across the given dimensions.
*
* Note that the return type of reductions after across is the same as the return type of mappings
*
* @param dimensions_ The dimensions across which to apply the operation
*
* @return The operand which will apply the operation across dimensions
*/
MappableReducible across(int... dimensions_);
}