|
|||||||||
| 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.type.Type
scale.clef.type.AtomicType
scale.clef.type.NumericType
scale.clef.type.RealType
scale.clef.type.FloatType
public class FloatType
This class repsents floating point types such as C's float and double types.
$Id: FloatType.java,v 1.54 2007-08-27 18:13:32 burrill Exp $
Copyright 2008 by the
Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
| Method Summary | |
|---|---|
static void |
cleanup()
Remove static lists of types. |
static FloatType |
create(int minbitSize)
Re-use an existing instance of a particular float type. |
boolean |
equivalent(Type t)
Return true if the types are equivalent. |
static java.util.Enumeration<FloatType> |
getTypes()
Return an enumeration of all the different types. |
boolean |
isFloatType()
Return true if type represents a character type. |
boolean |
isSigned()
Return true if the type is signed. |
double |
putValueInRange(double value)
Transform a value to be in a suitable range. |
FloatType |
returnFloatType()
Return if this is a FloatType
return this. |
java.lang.String |
toString()
|
java.lang.String |
toStringShort()
|
void |
visit(Predicate p)
Process a node by calling its associated routine. |
void |
visit(TypePredicate p)
Process a node by calling its associated routine. |
| Methods inherited from class scale.clef.type.RealType |
|---|
bitSize, isRealType, mapTypeToCString, mapTypeToF77String, returnRealType |
| Methods inherited from class scale.clef.type.NumericType |
|---|
isNumericType, returnNumericType |
| Methods inherited from class scale.clef.type.AtomicType |
|---|
alignment, isAtomicType, memorySize, returnAtomicType |
| Methods inherited from class scale.clef.Node |
|---|
getChild, getDecl, getSourceLineNumber, numChildren, setAnnotationLevel, setReportLevel, setSourceLineNumber, toString, toStringChildren, toStringSpecial |
| 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 |
| Method Detail |
|---|
public static FloatType create(int minbitSize)
minbitSize - is the minimum number of bits required for the
representationpublic final boolean isSigned()
Type
isSigned in class Typepublic final boolean isFloatType()
isFloatType in class Typepublic final FloatType returnFloatType()
Typethis is a FloatType
return this. Otherwise, return null.
returnFloatType in class Typepublic double putValueInRange(double value)
public java.lang.String toString()
toString in class Typepublic java.lang.String toStringShort()
toStringShort in class Typepublic 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 RealTypePredicatepublic void visit(TypePredicate p)
Type
Each type class has a visit(TypePredicate 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 TypePredicate 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 RealTypeTypePredicatepublic boolean equivalent(Type t)
equivalent in class Typepublic static java.util.Enumeration<FloatType> getTypes()
public static void cleanup()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||