- All Implemented Interfaces:
- Op<Double>,- Serializable,- Comparable<MathOp>,- Constable,- Function<Double[],,- Double> - Supplier<Op<Double>>
This class contains operations for performing basic numeric operations.
- Since:
- 3.9
- Version:
- 5.0
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from class java.lang.EnumEnum.EnumDesc<E extends Enum<E>>
- 
Enum Constant SummaryEnum ConstantsEnum ConstantDescriptionReturn the absolute value of a double value.Returns the arc cosine of a double value.Returns the sum of its arguments.Returns the arc sine of a double value.Returns the arc tangent of a value.Returns the cube root of a double value.Returns the smallest (closest to negative infinity) double value that is greater than or equal to the argument and is equal to a mathematical integer.Returns the trigonometric cosine of an angle.Returns the hyperbolic cosine of a double value.Returns the quotient of its arguments.Returns Euler's number e raised to the power of a double value.Returns the largest (closest to positive infinity) double value that is less than or equal to the argument and is equal to a mathematical integer.Returns +1.0 if its first argument is greater than its second argument and returns -1.0 otherwise.Returns sqrt(x2 +y2) without intermediate overflow or underflow.The identity function.Returns the natural logarithm (base e) of a double value.Returns the base 10 logarithm of a double value.Return the maximum of two values This operation has arity 2.Return the minimum of two values.Returns the modulo of its arguments.Returns the product of its arguments.Return the negation value of a double value.Returns the value of the first argument raised to the power of the second argument.Returns the double value that is closest in value to the argument and is equal to a mathematical integer.Returns the signum function of the argument; zero if the argument is zero, 1.0 if the argument is greater than zero, -1.0 if the argument is less than zero.Returns the trigonometric sine of an angle.Returns the hyperbolic sine of a double value.Returns the square value of a given double value.Returns the correctly rounded positive square root of a double value.Return the diff of its arguments.Returns the trigonometric tangent of an angle.Returns the hyperbolic tangent of a double value.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionThe double value that is closer than any other to e, the base of the natural logarithms.The names of all defined operation names.The double value that is closer than any other to pi, the ratio of the circumference of a circle to its diameter.
- 
Method SummaryModifier and TypeMethodDescriptionintarity()Return the arity of the operation function.doubleeval(double... args) Evaluates the operation with the given arguments.Converts the string representation of an operation to the operation object.toString()static MathOpReturns the enum constant of this class with the specified name.static MathOp[]values()Returns an array containing the constants of this enum class, in the order they are declared.Methods inherited from class java.lang.Enumclone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOfMethods inherited from interface io.jenetics.prog.op.Opget, isTerminal, name
- 
Enum Constant Details- 
ABSReturn the absolute value of a double value. This operation has arity 1.- See Also:
 
- 
NEGReturn the negation value of a double value. This operation has arity 1.
- 
IDThe identity function.
- 
MINReturn the minimum of two values. This operation has arity 2.- See Also:
 
- 
MAXReturn the maximum of two values This operation has arity 2.- See Also:
 
- 
CEILReturns the smallest (closest to negative infinity) double value that is greater than or equal to the argument and is equal to a mathematical integer. This operation has arity 1.- See Also:
 
- 
FLOORReturns the largest (closest to positive infinity) double value that is less than or equal to the argument and is equal to a mathematical integer. This operation has arity 1.- See Also:
 
- 
SIGNUMReturns the signum function of the argument; zero if the argument is zero, 1.0 if the argument is greater than zero, -1.0 if the argument is less than zero. This operation has arity 1.- See Also:
 
- 
RINTReturns the double value that is closest in value to the argument and is equal to a mathematical integer. This operation has arity 1.- See Also:
 
- 
ADDReturns the sum of its arguments. This operation has arity 2.
- 
SUBReturn the diff of its arguments. This operation has arity 2.
- 
MULReturns the product of its arguments. This operation has arity 2.
- 
DIVReturns the quotient of its arguments. This operation has arity 2.
- 
MODReturns the modulo of its arguments. This operation has arity 2.
- 
POWReturns the value of the first argument raised to the power of the second argument. This operation has arity 2.- See Also:
 
- 
SQRReturns the square value of a given double value. This operation has arity 1.
- 
SQRTReturns the correctly rounded positive square root of a double value. This operation has arity 1.- See Also:
 
- 
CBRTReturns the cube root of a double value. This operation has arity 1.- See Also:
 
- 
HYPOTReturns sqrt(x2 +y2) without intermediate overflow or underflow. This operation has arity 2.- See Also:
 
- 
EXPReturns Euler's number e raised to the power of a double value. This operation has arity 1.- See Also:
 
- 
LOGReturns the natural logarithm (base e) of a double value. This operation has arity 1.- See Also:
 
- 
LOG10Returns the base 10 logarithm of a double value. This operation has arity 1.- See Also:
 
- 
SINReturns the trigonometric sine of an angle. This operation has arity 1.- See Also:
 
- 
COSReturns the trigonometric cosine of an angle. This operation has arity 1.- See Also:
 
- 
TANReturns the trigonometric tangent of an angle. This operation has arity 1.- See Also:
 
- 
ACOSReturns the arc cosine of a double value. This operation has arity 1.- See Also:
 
- 
ASINReturns the arc sine of a double value. This operation has arity 1.- See Also:
 
- 
ATANReturns the arc tangent of a value. This operation has arity 1.- See Also:
 
- 
COSHReturns the hyperbolic cosine of a double value. This operation has arity 1.- See Also:
 
- 
SINHReturns the hyperbolic sine of a double value. This operation has arity 1.- See Also:
 
- 
TANHReturns the hyperbolic tangent of a double value. This operation has arity 1.- See Also:
 
- 
GTReturns +1.0 if its first argument is greater than its second argument and returns -1.0 otherwise.- Since:
- 5.0
 
 
- 
- 
Field Details- 
PIThe double value that is closer than any other to pi, the ratio of the circumference of a circle to its diameter. This is a terminal operation.- See Also:
 
- 
EThe double value that is closer than any other to e, the base of the natural logarithms. This is a terminal operation.- See Also:
 
- 
NAMESThe names of all defined operation names.- Since:
- 7.0
 
 
- 
- 
Method Details- 
valuesReturns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
 
- 
valueOfReturns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- IllegalArgumentException- if this enum class has no constant with the specified name
- NullPointerException- if the argument is null
 
- 
arityDescription copied from interface:OpReturn the arity of the operation function. If the arity is zero, the operation is terminal operation.
- 
apply
- 
evalEvaluates the operation with the given arguments.- Parameters:
- args- the operation arguments
- Returns:
- the evaluated operation
- Since:
- 5.0
- See Also:
 
- 
toString
- 
toMathOpConverts the string representation of an operation to the operation object. It is used for converting the string representation of a tree to an operation tree. If you use it that way, you should not forget to re-index the tree variables.final TreeNode<Op<Double>> tree = TreeNode.parse( "add(mul(x,y),sub(y,x))", MathOp::toMathOp ); assert Program.eval(tree, 10.0, 5.0) == 100.0; Var.reindex(tree); assert Program.eval(tree, 10.0, 5.0) == 45.0;- Parameters:
- string- the string representation of an operation which should be converted
- Returns:
- the operation, converted from the given string
- Throws:
- IllegalArgumentException- if the given- valuedoesn't represent a mathematical expression
- NullPointerException- if the given string- valueis- null
- Since:
- 5.0
- See Also:
 
 
-