|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectscale.common.Root
scale.clef.Node
scale.clef.expr.Expression
scale.clef.expr.Literal
scale.clef.expr.FloatArrayLiteral
public class FloatArrayLiteral
A class which represents a floating point literal array.
$Id: FloatArrayLiteral.java,v 1.31 2007-10-04 19:58:05 burrill Exp $
Copyright 2007 by the
Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
| Constructor Summary | |
|---|---|
FloatArrayLiteral(Type type,
int size)
|
|
| Method Summary | |
|---|---|
void |
addElement(double v)
Add a new value to the end of the array. |
boolean |
equivalent(java.lang.Object exp)
Return true if the two expressions are equivalent. |
double[] |
getArrayValue()
Return the array of values of the literal. |
int |
getCount()
Return the number of elements in the Literal. |
Literal |
getElement(long index)
Return the specified element of the constant. |
java.lang.String |
getGenericValue()
Return a String already converted for display using C syntax. |
double |
getValue(int i)
Return the i-th value. |
void |
setValue(int i,
double value)
Set the i-th value. |
int |
size()
Return the size of the array. |
java.lang.String |
toStringSpecial()
This method allows sub-classes to provide class specific stuff to the string. |
void |
visit(Predicate p)
Process a node by calling its associated routine. |
| Methods inherited from class scale.clef.expr.Literal |
|---|
executionCostEstimate, findCoefficient, formatRealValue, getConstantValue, getDeclList, getDisplayLabel, isOne, isZero, linearity |
| Methods inherited from class scale.clef.expr.Expression |
|---|
canonical, containsDeclaration, getCoreType, getDisplayColorHint, getDisplayShapeHint, getPointedToCore, getType, hasTrueFalseResult, isSimpleOp, setType |
| Methods inherited from class scale.clef.Node |
|---|
getChild, getDecl, getSourceLineNumber, numChildren, setAnnotationLevel, setReportLevel, setSourceLineNumber, toString, toString, toStringChildren |
| Methods inherited from class scale.common.Root |
|---|
addAnnotation, allAnnotations, allMatchingAnnotations, getAnnotation, getDisplayName, getDisplayString, getNodeCount, getNodeID, hasAnnotation, hasEqualAnnotation, hashCode, removeAnnotation, removeAnnotations, toStringAnnotations, toStringClass, trace, trace, trace |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public FloatArrayLiteral(Type type,
int size)
| Method Detail |
|---|
public boolean equivalent(java.lang.Object exp)
equivalent in class Expressionpublic int size()
public java.lang.String toStringSpecial()
Node
toStringSpecial in class Expressionpublic void visit(Predicate p)
Node
Each class has a visit(Predicate p) method. For
example, in class ABC:
public void visit(Predicate p)
{
p.visitABC(this);
}
and the class that implements Predicate has a method
public void visitABC(Node n)
{
ABC a = (ABC) n;
...
}
Thus, the class that implements Predicate can call
n.visit(this);where
n is a Node sub-class without
determining which specific sub-class n is.
The visit pattern basically avoids implementing a large
switch statement or defining different methods
in each class for some purpose.
visit in class LiteralPredicatepublic final java.lang.String getGenericValue()
getGenericValue in class Literalpublic double[] getArrayValue()
public double getValue(int i)
public void setValue(int i,
double value)
public final void addElement(double v)
public int getCount()
getCount in class Literal
public Literal getElement(long index)
throws InvalidException
getElement in class LiteralInvalidException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||