Package com.yahoo.tensor.functions
Class Generate<NAMETYPE extends Name>
- java.lang.Object
-
- com.yahoo.tensor.functions.TensorFunction<NAMETYPE>
-
- com.yahoo.tensor.functions.PrimitiveTensorFunction<NAMETYPE>
-
- com.yahoo.tensor.functions.Generate<NAMETYPE>
-
public class Generate<NAMETYPE extends Name> extends PrimitiveTensorFunction<NAMETYPE>
An indexed tensor whose values are generated by a function- Author:
- bratseth
-
-
Constructor Summary
Constructors Constructor Description Generate(TensorType type, java.util.function.Function<java.util.List<java.lang.Long>,java.lang.Double> generator)
The same as Generate.free
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<TensorFunction<NAMETYPE>>
arguments()
Returns the function arguments of this node in the order they are appliedstatic <NAMETYPE extends Name>
Generate<NAMETYPE>bound(TensorType type, ScalarFunction<NAMETYPE> generator)
Creates a generated tensor from a bound functionTensor
evaluate(EvaluationContext<NAMETYPE> context)
Evaluates this tensor.static <NAMETYPE extends Name>
Generate<NAMETYPE>free(TensorType type, java.util.function.Function<java.util.List<java.lang.Long>,java.lang.Double> generator)
Creates a generated tensor from a free functionPrimitiveTensorFunction<NAMETYPE>
toPrimitive()
Translate this function - and all of its arguments recursively - to a tree of primitive functions only.java.lang.String
toString(ToStringContext context)
Return a string representation of this context.TensorType
type(TypeContext<NAMETYPE> context)
Returns the type of the tensor this produces given the input types in the contextTensorFunction<NAMETYPE>
withArguments(java.util.List<TensorFunction<NAMETYPE>> arguments)
Returns a copy of this tensor function with the arguments replaced by the given list of arguments.-
Methods inherited from class com.yahoo.tensor.functions.TensorFunction
asScalarFunction, evaluate, toString
-
-
-
-
Constructor Detail
-
Generate
public Generate(TensorType type, java.util.function.Function<java.util.List<java.lang.Long>,java.lang.Double> generator)
The same as Generate.free
-
-
Method Detail
-
free
public static <NAMETYPE extends Name> Generate<NAMETYPE> free(TensorType type, java.util.function.Function<java.util.List<java.lang.Long>,java.lang.Double> generator)
Creates a generated tensor from a free function- Parameters:
type
- the type of the tensorgenerator
- the function generating values from a list of numbers specifying the indexes of the tensor cell which will receive the value- Throws:
java.lang.IllegalArgumentException
- if any of the tensor dimensions are not indexed bound
-
bound
public static <NAMETYPE extends Name> Generate<NAMETYPE> bound(TensorType type, ScalarFunction<NAMETYPE> generator)
Creates a generated tensor from a bound function- Parameters:
type
- the type of the tensorgenerator
- the function generating values from a list of numbers specifying the indexes of the tensor cell which will receive the value- Throws:
java.lang.IllegalArgumentException
- if any of the tensor dimensions are not indexed bound
-
arguments
public java.util.List<TensorFunction<NAMETYPE>> arguments()
Description copied from class:TensorFunction
Returns the function arguments of this node in the order they are applied- Specified by:
arguments
in classTensorFunction<NAMETYPE extends Name>
-
withArguments
public TensorFunction<NAMETYPE> withArguments(java.util.List<TensorFunction<NAMETYPE>> arguments)
Description copied from class:TensorFunction
Returns a copy of this tensor function with the arguments replaced by the given list of arguments.- Specified by:
withArguments
in classTensorFunction<NAMETYPE extends Name>
-
toPrimitive
public PrimitiveTensorFunction<NAMETYPE> toPrimitive()
Description copied from class:TensorFunction
Translate this function - and all of its arguments recursively - to a tree of primitive functions only.- Specified by:
toPrimitive
in classTensorFunction<NAMETYPE extends Name>
- Returns:
- a tree of primitive functions implementing this
-
type
public TensorType type(TypeContext<NAMETYPE> context)
Description copied from class:TensorFunction
Returns the type of the tensor this produces given the input types in the context- Specified by:
type
in classTensorFunction<NAMETYPE extends Name>
- Parameters:
context
- a context which must be passed to all nexted functions when evaluating
-
evaluate
public Tensor evaluate(EvaluationContext<NAMETYPE> context)
Description copied from class:TensorFunction
Evaluates this tensor.- Specified by:
evaluate
in classTensorFunction<NAMETYPE extends Name>
- Parameters:
context
- a context which must be passed to all nested functions when evaluating
-
toString
public java.lang.String toString(ToStringContext context)
Description copied from class:TensorFunction
Return a string representation of this context.- Specified by:
toString
in classTensorFunction<NAMETYPE extends Name>
- Parameters:
context
- a context which must be passed to all nested functions when requesting the string value
-
-