|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object scale.common.Root scale.clef.Node scale.clef.type.Type scale.clef.type.AtomicType scale.clef.type.NumericType scale.clef.type.RealType
public abstract class RealType
This is the base class for all scaled types such a C's float and double types.
$Id: RealType.java,v 1.32 2007-03-21 13:32:00 burrill Exp $
Copyright 2005 by the Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
The size of the type is specified as the minimum number of bits that are required to represent a value of that type.
Constructor Summary | |
---|---|
RealType(int minbitSize)
|
Method Summary | |
---|---|
int |
bitSize()
Return the number of bits required to represent the type. |
boolean |
isRealType()
Return true if type represents a floating point value. |
java.lang.String |
mapTypeToCString()
Map a type to a C string. |
java.lang.String |
mapTypeToF77String()
Map a type to a Fortran string. |
RealType |
returnRealType()
Return if this is a RealType ,
return this . |
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.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 |
Constructor Detail |
---|
public RealType(int minbitSize)
minbitSize
- is the minimum number of bits required to represent a value of this typeMethod Detail |
---|
public int bitSize()
AtomicType
bitSize
in class AtomicType
public boolean isRealType()
isRealType
in class Type
public final RealType returnRealType()
Type
this
is a RealType
,
return this
. Otherwise, return null
.
returnRealType
in class Type
public 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 NumericType
Predicate
public 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 NumericType
TypePredicate
public java.lang.String mapTypeToCString()
mapTypeToCString
in class Type
public java.lang.String mapTypeToF77String()
mapTypeToF77String
in class Type
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |