com.jogamp.gluegen.cgram.types
Class SizeThunk

java.lang.Object
  extended by com.jogamp.gluegen.cgram.types.SizeThunk
All Implemented Interfaces:
Cloneable

public abstract class SizeThunk
extends Object
implements Cloneable

Provides a level of indirection between the definition of a type's size and the absolute value of this size. Necessary when generating glue code for two different CPU architectures (e.g., 32-bit and 64-bit) from the same internal representation of the various types involved.


Field Summary
static SizeThunk CHAR
           
static SizeThunk DOUBLE
           
static SizeThunk FLOAT
           
static SizeThunk INT
           
static SizeThunk INT64
           
static SizeThunk LONG
           
static SizeThunk POINTER
           
static SizeThunk SHORT
           
 
Method Summary
static SizeThunk add(SizeThunk thunk1, SizeThunk thunk2)
           
 Object clone()
           
abstract  long compute(MachineDescription machDesc)
           
static SizeThunk constant(int constant)
           
static SizeThunk max(SizeThunk thunk1, SizeThunk thunk2)
           
static SizeThunk mod(SizeThunk thunk1, SizeThunk thunk2)
           
static SizeThunk mul(SizeThunk thunk1, SizeThunk thunk2)
           
static SizeThunk roundUp(SizeThunk thunk1, SizeThunk thunk2)
           
static SizeThunk sub(SizeThunk thunk1, SizeThunk thunk2)
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CHAR

public static final SizeThunk CHAR

SHORT

public static final SizeThunk SHORT

INT

public static final SizeThunk INT

LONG

public static final SizeThunk LONG

INT64

public static final SizeThunk INT64

FLOAT

public static final SizeThunk FLOAT

DOUBLE

public static final SizeThunk DOUBLE

POINTER

public static final SizeThunk POINTER
Method Detail

clone

public Object clone()
Overrides:
clone in class Object

compute

public abstract long compute(MachineDescription machDesc)

add

public static SizeThunk add(SizeThunk thunk1,
                            SizeThunk thunk2)

sub

public static SizeThunk sub(SizeThunk thunk1,
                            SizeThunk thunk2)

mul

public static SizeThunk mul(SizeThunk thunk1,
                            SizeThunk thunk2)

mod

public static SizeThunk mod(SizeThunk thunk1,
                            SizeThunk thunk2)

roundUp

public static SizeThunk roundUp(SizeThunk thunk1,
                                SizeThunk thunk2)

max

public static SizeThunk max(SizeThunk thunk1,
                            SizeThunk thunk2)

constant

public static SizeThunk constant(int constant)