net.sourceforge.webcompmath.data
Interface Expression

All Superinterfaces:
java.io.Serializable, Value
All Known Implementing Classes:
Constant, ExpressionInput.EI, ExpressionProgram, Variable, WCMConstantBean, WCMMouseVariableBean, WCMVariableBean

public interface Expression
extends Value

An Expression represents a mathematical expression such as "x+1" or "3" or "sin(x*ln(x)-3*abs(x/4))". An expression has a value, which can depend on the values of variables that occur in the expression. An expression can be differenetiated with respect to a variable. It has a print string representation. This interface is implemented by the classes Constant, Variable, and ExpressionProgram, for example. The Expression interface represents all the properties of expressions that you are likely to need to know about, unless you want to write a new kind of ExpressionCommand.


Method Summary
 boolean dependsOn(Variable x)
          Checks whether the expression has any dependence on the variable x.
 Expression derivative(Variable wrt)
          Return an Expression that represents the derivative of this expression with respect to the variable wrt.
 double getValueWithCases(Cases cases)
          Compute and return the value of this expression.
 java.lang.String toString()
          Get a print string representation of this expression.
 
Methods inherited from interface net.sourceforge.webcompmath.data.Value
getVal
 

Method Detail

getValueWithCases

double getValueWithCases(Cases cases)
Compute and return the value of this expression. If cases is non-null, then data is stored in cases that can be used to check for possible discontinuities between one evaluation and the next. See the class Cases for more information.

Parameters:
cases - cases to use
Returns:
the value of the expression

derivative

Expression derivative(Variable wrt)
Return an Expression that represents the derivative of this expression with respect to the variable wrt. (Note that if the expression contains other variables besides wrt, this is actually a partial derivative.)

Parameters:
wrt - variable with respect to
Returns:
the derivative

dependsOn

boolean dependsOn(Variable x)
Checks whether the expression has any dependence on the variable x.

Parameters:
x - variable to check
Returns:
true or false

toString

java.lang.String toString()
Get a print string representation of this expression. (Of course, every object defines toString(). It is included here to remind you that classes that implement the Expression interface should have a print string representation that looks like a mathematical expression.)

Overrides:
toString in class java.lang.Object
Returns:
string representation