Back to index

wims  3.65+svn20090927
Public Member Functions | Static Public Member Functions | Package Attributes | Static Package Attributes
rene.zirkel.expression.UserFunctionExpression Class Reference
Inheritance diagram for rene.zirkel.expression.UserFunctionExpression:
Inheritance graph
[legend]
Collaboration diagram for rene.zirkel.expression.UserFunctionExpression:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 UserFunctionExpression (ConstructionObject f, BasicExpression e[])
double getValue () throws ConstructionException
void translate ()
void reset ()
String toString ()
boolean isNumber ()
boolean isLogical ()

Static Public Member Functions

static BasicExpression scan (ExpressionText t) throws ConstructionException
static BasicExpression scan (ExpressionText t, int sign) throws ConstructionException
static BasicExpression scanBracket (ExpressionText t) throws ConstructionException

Package Attributes

ConstructionObject F
BasicExpression E []
double X []

Static Package Attributes

static final int MINUS = -1
static final int PLUS = 1

Detailed Description

Author:
Rene

Evaluates a user funktion (a FunctionObject). The Y-expression of this function is used.

Definition at line 444 of file Expression.java.


Constructor & Destructor Documentation

Definition at line 449 of file Expression.java.

       {      F=f; 
              E=e; 
              X=new double[E.length];
       }

Member Function Documentation

Reimplemented from rene.zirkel.expression.BasicExpression.

Definition at line 455 of file Expression.java.

       {      for (int i=0; i<E.length; i++) X[i]=E[i].getValue();
              if (F instanceof FunctionObject) return ((FunctionObject)F).evaluateF(X);
              return ((UserFunctionObject)F).evaluateF(X);
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Reimplemented in rene.zirkel.expression.OrExpression, rene.zirkel.expression.AndExpression, rene.zirkel.expression.NotExpression, and rene.zirkel.expression.CompareExpression.

Definition at line 143 of file Expression.java.

       {      return false;
       }

Here is the caller graph for this function:

Reimplemented in rene.zirkel.expression.MinusExpression, rene.zirkel.expression.ElementaryExpression, rene.zirkel.expression.BracketExpression, and rene.zirkel.expression.DoubleExpression.

Definition at line 135 of file Expression.java.

       {      return false;
       }

Here is the caller graph for this function:

Reimplemented from rene.zirkel.expression.BasicExpression.

Definition at line 467 of file Expression.java.

       {      for (int i=0; i<E.length; i++) E[i].reset();
       }

Here is the call graph for this function:

Here is the caller graph for this function:

static BasicExpression rene.zirkel.expression.BasicExpression.scan ( ExpressionText  t,
int  sign 
) throws ConstructionException [inline, static, inherited]

Definition at line 107 of file Expression.java.

       {      if (sign==MINUS)
              {      if (t.next()=='(') return new MinusExpression(scanBracket(t));
                     return new MinusExpression(ElementaryExpression.scan(t));
              }
              if (t.next()=='(') return scanBracket(t);
              return ElementaryExpression.scan(t);
       }

Here is the call graph for this function:

Definition at line 118 of file Expression.java.

       {      t.advance();
              BasicExpression E=TopExpression.scan(t);
              if (t.next()==')') t.advance();
              else
                     throw new ConstructionException(Zirkel.name("exception.bracket"));
              return E;
       }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 471 of file Expression.java.

       {      String ex=E[0].toString();
              for (int i=1; i<E.length; i++) ex=ex+","+E[i].toString();
              return F.getName()+"("+ex+")";
       }

Here is the call graph for this function:

Reimplemented from rene.zirkel.expression.BasicExpression.

Definition at line 461 of file Expression.java.

       {      for (int i=0; i<E.length; i++) E[i].translate();
              if (F instanceof FunctionObject) F=(FunctionObject)F.getTranslation();
              else F=(UserFunctionObject)F.getTranslation();
       }

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Reimplemented from rene.zirkel.expression.BasicExpression.

Definition at line 446 of file Expression.java.

Definition at line 445 of file Expression.java.

final int rene.zirkel.expression.BasicExpression.MINUS = -1 [static, package, inherited]

Definition at line 91 of file Expression.java.

final int rene.zirkel.expression.BasicExpression.PLUS = 1 [static, package, inherited]

Definition at line 91 of file Expression.java.

Definition at line 447 of file Expression.java.


The documentation for this class was generated from the following file: