Package org.tensorics.core.tensor.stream
Class TensorStreams
- java.lang.Object
-
- org.tensorics.core.tensor.stream.TensorStreams
-
public final class TensorStreams extends java.lang.Object
Utility class for producing streams ofEntry<Position, T>
out of Tensors and collecting them back into Tensors.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T,CI,CO>
java.util.function.Function<java.util.Map.Entry<Position,T>,java.util.Map.Entry<Position,T>>coordinatesOfType(java.lang.Class<CI> dimension, java.util.function.Function<CI,CO> coordinateMapper)
static <T> java.util.function.Function<java.util.Map.Entry<Position,T>,java.util.Map.Entry<Position,T>>
positions(java.util.function.BiFunction<Position,T,Position> positionMapper)
static <T> java.util.function.Function<java.util.Map.Entry<Position,T>,java.util.Map.Entry<Position,T>>
positions(java.util.function.Function<Position,Position> positionMapper)
static <S> java.util.stream.Stream<java.util.Map.Entry<Position,S>>
tensorEntryStream(Tensor<S> tensor)
Return a stream of all entries of the tensorstatic <V,T>
TensorCollector<V,T>toTensor(java.util.function.Function<V,Position> positionMapper, java.util.function.Function<V,T> valueMapper, java.util.Set<java.lang.Class<?>> dimensions)
Build a collector to collect an arbitrary stream to a genericTensor<T>
of the given dimensions.static <T> TensorCollector<java.util.Map.Entry<Position,T>,T>
toTensor(java.util.Set<java.lang.Class<?>> dimensions)
Build a collector to collect a stream ofEntry<Position,T>
to a genericTensor<T>
of the dimensions defined in the set of classes.static <T,TB extends Tensorbacked<T>>
TensorbackedCollector<java.util.Map.Entry<Position,T>,T,TB>toTensorbacked(java.lang.Class<TB> tensorBackedClass)
Build a collector to collect a stream ofEntry<Position,T>
to aTensorbacked<T>
class.static <V,T,TB extends Tensorbacked<T>>
TensorbackedCollector<V,T,TB>toTensorbacked(java.lang.Class<TB> tensorBackedClass, java.util.function.Function<V,Position> positionMapper, java.util.function.Function<V,T> valueMapper)
Build a collector to collect an arbitrary stream to a Tensorbackedclass.static <I,O>
java.util.function.Function<java.util.Map.Entry<Position,I>,java.util.Map.Entry<Position,O>>values(java.util.function.BiFunction<Position,I,O> valueMapper)
static <I,O>
java.util.function.Function<java.util.Map.Entry<Position,I>,java.util.Map.Entry<Position,O>>values(java.util.function.Function<I,O> valueMapper)
-
-
-
Method Detail
-
tensorEntryStream
public static <S> java.util.stream.Stream<java.util.Map.Entry<Position,S>> tensorEntryStream(Tensor<S> tensor)
Return a stream of all entries of the tensor- Parameters:
tensor
-- Returns:
-
toTensor
public static <T> TensorCollector<java.util.Map.Entry<Position,T>,T> toTensor(java.util.Set<java.lang.Class<?>> dimensions)
Build a collector to collect a stream ofEntry<Position,T>
to a genericTensor<T>
of the dimensions defined in the set of classes.- Parameters:
dimensions
- the dimensions of the tensor to construct- Returns:
-
toTensor
public static <V,T> TensorCollector<V,T> toTensor(java.util.function.Function<V,Position> positionMapper, java.util.function.Function<V,T> valueMapper, java.util.Set<java.lang.Class<?>> dimensions)
Build a collector to collect an arbitrary stream to a genericTensor<T>
of the given dimensions. Functions mapping the values toPosition
and T must be provided.- Parameters:
positionMapper
- function mapping stream values to PositionvalueMapper
- function mapping stream values to tensor valuesdimensions
- the dimensions of the tensor to construct- Returns:
-
toTensorbacked
public static <T,TB extends Tensorbacked<T>> TensorbackedCollector<java.util.Map.Entry<Position,T>,T,TB> toTensorbacked(java.lang.Class<TB> tensorBackedClass)
Build a collector to collect a stream ofEntry<Position,T>
to aTensorbacked<T>
class. ThePosition
s in the stream must be consistent with the dimensions of the Tensorbacked.- Parameters:
tensorBackedClass
- the tensorbacked to produce- Returns:
-
toTensorbacked
public static <V,T,TB extends Tensorbacked<T>> TensorbackedCollector<V,T,TB> toTensorbacked(java.lang.Class<TB> tensorBackedClass, java.util.function.Function<V,Position> positionMapper, java.util.function.Function<V,T> valueMapper)
Build a collector to collect an arbitrary stream to a Tensorbackedclass. Functions mapping the values toPosition
and T must be provided. ThePosition
s generated must be consistent with the dimensions of the Tensorbacked.- Parameters:
tensorBackedClass
- the tensorbacked to producepositionMapper
- function mapping stream values to PositionvalueMapper
- function mapping stream values to tensor values- Returns:
-
coordinatesOfType
public static <T,CI,CO> java.util.function.Function<java.util.Map.Entry<Position,T>,java.util.Map.Entry<Position,T>> coordinatesOfType(java.lang.Class<CI> dimension, java.util.function.Function<CI,CO> coordinateMapper)
-
positions
public static <T> java.util.function.Function<java.util.Map.Entry<Position,T>,java.util.Map.Entry<Position,T>> positions(java.util.function.Function<Position,Position> positionMapper)
-
values
public static <I,O> java.util.function.Function<java.util.Map.Entry<Position,I>,java.util.Map.Entry<Position,O>> values(java.util.function.Function<I,O> valueMapper)
-
positions
public static <T> java.util.function.Function<java.util.Map.Entry<Position,T>,java.util.Map.Entry<Position,T>> positions(java.util.function.BiFunction<Position,T,Position> positionMapper)
-
-