MODULE = LLVM PACKAGE = LLVM::GenericValue GenericValue int(class, type, val) SV *class Type type unsigned long val CODE: RETVAL = LLVMCreateGenericValueOfInt(type, val, 1); OUTPUT: RETVAL GenericValue uint(class, type, val) SV *class Type type unsigned long val CODE: RETVAL = LLVMCreateGenericValueOfInt(type, val, 0); OUTPUT: RETVAL GenericValue float(class, type, val) SV *class Type type double val CODE: RETVAL = LLVMCreateGenericValueOfFloat(type, val); OUTPUT: RETVAL unsigned long to_int(self) GenericValue self CODE: RETVAL = LLVMGenericValueToInt(self, 1); OUTPUT: RETVAL unsigned long to_uint(self) GenericValue self CODE: RETVAL = LLVMGenericValueToInt(self, 0); OUTPUT: RETVAL double to_float(self, type) GenericValue self Type type CODE: RETVAL = LLVMGenericValueToFloat(type, self); OUTPUT: RETVAL void DESTROY(self) GenericValue self CODE: LLVMDisposeGenericValue(self);