Package com.aparapi.internal.writer
Class KernelWriter
- java.lang.Object
-
- com.aparapi.internal.writer.BlockWriter
-
- com.aparapi.internal.writer.KernelWriter
-
public abstract class KernelWriter extends BlockWriter
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
__constant
static java.lang.String
__global
static java.lang.String
__local
static java.lang.String
__private
static java.lang.String
CONSTANT_ANNOTATION_NAME
private java.lang.String
cvtBooleanArrayToChar
private java.lang.String
cvtBooleanArrayToCharStar
private java.lang.String
cvtBooleanToChar
private java.lang.String
cvtByteArrayToChar
private java.lang.String
cvtByteArrayToCharStar
private java.lang.String
cvtByteToChar
private java.lang.String
cvtCharArrayToShort
private java.lang.String
cvtCharArrayToShortStar
private java.lang.String
cvtCharToShort
private java.lang.String
cvtDoubleArrayToDouble
private java.lang.String
cvtDoubleArrayToDoubleStar
private java.lang.String
cvtFloatArrayToFloat
private java.lang.String
cvtFloatArrayToFloatStar
private java.lang.String
cvtIntArrayToInt
private java.lang.String
cvtIntArrayToIntStar
private java.lang.String
cvtLongArrayToLong
private java.lang.String
cvtLongArrayToLongStar
private java.lang.String
cvtShortArrayToShort
private java.lang.String
cvtShortArrayToShortStar
private Entrypoint
entryPoint
private static boolean
IMPLICIT_PRIVATE_FIELDS
When declaring a __private struct pointer field, we always omit the "__private" qualifier.static java.util.Map<java.lang.String,java.lang.String>
javaToCLIdentifierMap
static java.lang.String
LOCAL_ANNOTATION_NAME
-
Fields inherited from class com.aparapi.internal.writer.BlockWriter
arrayDimMangleSuffix, arrayLengthMangleSuffix, indent
-
-
Constructor Summary
Constructors Constructor Description KernelWriter()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
convertType(java.lang.String _typeDesc, boolean useClassModel, boolean isLocal)
These three convert functions are here to perform any type conversion that may be required between Java and OpenCL.private boolean
isThis(Instruction instruction)
void
write(Entrypoint _entryPoint)
void
writeInstruction(Instruction _instruction)
void
writeMethod(InstructionSet.MethodCall _methodCall, ClassModel.ConstantPool.MethodEntry _methodEntry)
void
writePragma(java.lang.String _name, boolean _enable)
void
writeThisRef()
static java.lang.String
writeToString(Entrypoint _entrypoint)
-
Methods inherited from class com.aparapi.internal.writer.BlockWriter
convertCast, in, newLine, out, write, write, writeBlock, writeComposite, writeConditional, writeConditional, writeConditionalBranch16, writeGetterBlock, writeln, writeMethodBody, writeSequence
-
-
-
-
Field Detail
-
cvtBooleanToChar
private final java.lang.String cvtBooleanToChar
- See Also:
- Constant Field Values
-
cvtBooleanArrayToCharStar
private final java.lang.String cvtBooleanArrayToCharStar
- See Also:
- Constant Field Values
-
cvtBooleanArrayToChar
private final java.lang.String cvtBooleanArrayToChar
- See Also:
- Constant Field Values
-
cvtByteToChar
private final java.lang.String cvtByteToChar
- See Also:
- Constant Field Values
-
cvtByteArrayToCharStar
private final java.lang.String cvtByteArrayToCharStar
- See Also:
- Constant Field Values
-
cvtByteArrayToChar
private final java.lang.String cvtByteArrayToChar
- See Also:
- Constant Field Values
-
cvtCharToShort
private final java.lang.String cvtCharToShort
- See Also:
- Constant Field Values
-
cvtCharArrayToShortStar
private final java.lang.String cvtCharArrayToShortStar
- See Also:
- Constant Field Values
-
cvtCharArrayToShort
private final java.lang.String cvtCharArrayToShort
- See Also:
- Constant Field Values
-
cvtIntArrayToIntStar
private final java.lang.String cvtIntArrayToIntStar
- See Also:
- Constant Field Values
-
cvtIntArrayToInt
private final java.lang.String cvtIntArrayToInt
- See Also:
- Constant Field Values
-
cvtFloatArrayToFloatStar
private final java.lang.String cvtFloatArrayToFloatStar
- See Also:
- Constant Field Values
-
cvtFloatArrayToFloat
private final java.lang.String cvtFloatArrayToFloat
- See Also:
- Constant Field Values
-
cvtDoubleArrayToDoubleStar
private final java.lang.String cvtDoubleArrayToDoubleStar
- See Also:
- Constant Field Values
-
cvtDoubleArrayToDouble
private final java.lang.String cvtDoubleArrayToDouble
- See Also:
- Constant Field Values
-
cvtLongArrayToLongStar
private final java.lang.String cvtLongArrayToLongStar
- See Also:
- Constant Field Values
-
cvtLongArrayToLong
private final java.lang.String cvtLongArrayToLong
- See Also:
- Constant Field Values
-
cvtShortArrayToShortStar
private final java.lang.String cvtShortArrayToShortStar
- See Also:
- Constant Field Values
-
cvtShortArrayToShort
private final java.lang.String cvtShortArrayToShort
- See Also:
- Constant Field Values
-
IMPLICIT_PRIVATE_FIELDS
private static final boolean IMPLICIT_PRIVATE_FIELDS
When declaring a __private struct pointer field, we always omit the "__private" qualifier. This is because the NVidia OpenCL compiler, at time of writing erroneously complains about explicitly qualifying pointers with __private ("error: field may not be qualified with an address space").- See Also:
- Constant Field Values
-
entryPoint
private Entrypoint entryPoint
-
javaToCLIdentifierMap
public static final java.util.Map<java.lang.String,java.lang.String> javaToCLIdentifierMap
-
__local
public static final java.lang.String __local
- See Also:
- Constant Field Values
-
__global
public static final java.lang.String __global
- See Also:
- Constant Field Values
-
__constant
public static final java.lang.String __constant
- See Also:
- Constant Field Values
-
__private
public static final java.lang.String __private
- See Also:
- Constant Field Values
-
LOCAL_ANNOTATION_NAME
public static final java.lang.String LOCAL_ANNOTATION_NAME
-
CONSTANT_ANNOTATION_NAME
public static final java.lang.String CONSTANT_ANNOTATION_NAME
-
-
Method Detail
-
convertType
public java.lang.String convertType(java.lang.String _typeDesc, boolean useClassModel, boolean isLocal)
These three convert functions are here to perform any type conversion that may be required between Java and OpenCL.- Overrides:
convertType
in classBlockWriter
- Parameters:
_typeDesc
- String in the Java JNI notation, [I, etc- Returns:
- Suitably converted string, "char*", etc
-
writeMethod
public void writeMethod(InstructionSet.MethodCall _methodCall, ClassModel.ConstantPool.MethodEntry _methodEntry) throws CodeGenException
- Overrides:
writeMethod
in classBlockWriter
- Throws:
CodeGenException
-
isThis
private boolean isThis(Instruction instruction)
-
writePragma
public void writePragma(java.lang.String _name, boolean _enable)
-
write
public void write(Entrypoint _entryPoint) throws CodeGenException
- Specified by:
write
in classBlockWriter
- Throws:
CodeGenException
-
writeThisRef
public void writeThisRef()
- Overrides:
writeThisRef
in classBlockWriter
-
writeInstruction
public void writeInstruction(Instruction _instruction) throws CodeGenException
- Overrides:
writeInstruction
in classBlockWriter
- Throws:
CodeGenException
-
writeToString
public static java.lang.String writeToString(Entrypoint _entrypoint) throws CodeGenException
- Throws:
CodeGenException
-
-