예제 #1
0
TraceTree::TraceTree(const RevBayesCore::TraceTree &m) : WorkspaceToCoreWrapperObject<RevBayesCore::TreeSummary>( new RevBayesCore::TreeSummary( m ) )
{

    // initialize the methods
    initMethods();

}
예제 #2
0
//MAIN FUNCTION **************************************************************
void main(void)
{
    char keypad;
    char tensDigit; 
    char onesDigit; 
    char numAsDecimal; 
    
    initMethods(); 
    putchar('\r');  // Dummy write to serial port
    printf("\nStart\r\n");

    Counts = 0;
    while (Counts < 1); // Wait a long time (1s) for keypad & LCD to initialize

    lcd_clear();
    lcd_print("Calibration:\nHello world!\n012_345_678:\nabc def ghij");
    
    
    while (1)
    {
        keypadInput = read_keypad(); //read the keypad
        if (keypadInput != -1) { //if keypad pressed
            tensDigit = keypadInput; while(read_keypad() != -1); pause(); //store press as tens digit
            
            do {
                onesDigit = read_keypad(); //set the result of read_keypad to ones digit
            } while (onesDigit == -1) //stop once ones digit equals an input value
            while(read_keypad() != -1); pause(); //wait until key is released, then pause for one second
             
            numAsDecimal = twoDigitNum(tensDigit, onesDigit); 
            displayInput(numAsDecimal); 
        }
    }
예제 #3
0
파일: rpmte-rb.c 프로젝트: avokhmin/RPM5
void
Init_rpmte(void)
{
    rpmteClass = rb_define_class("Te", rb_cObject);
if (_debug)
fprintf(stderr, "==> %s() rpmteClass 0x%lx\n", __FUNCTION__, rpmteClass);
    rb_define_alloc_func(rpmteClass, rpmte_alloc);
    initProperties(rpmteClass);
    initMethods(rpmteClass);
}
예제 #4
0
파일: rpmmi-rb.c 프로젝트: avokhmin/RPM5
void
Init_rpmmi(void)
{
    rpmmiClass = rb_define_class("Mi", rb_cObject);
if (_debug)
fprintf(stderr, "==> %s() rpmmiClass 0x%lx\n", __FUNCTION__, rpmmiClass);
    rb_include_module(rpmmiClass, rb_mEnumerable);
    rb_define_singleton_method(rpmmiClass, "new", rpmmi_new, -1);
    initProperties(rpmmiClass);
    initMethods(rpmmiClass);
}
예제 #5
0
파일: rpmhdr-rb.c 프로젝트: avokhmin/RPM5
/* --- Class initialization */
void
Init_rpmhdr(void)
{
    rpmhdrClass = rb_define_class("Hdr", rb_cObject);
if (_debug)
fprintf(stderr, "==> %s() rpmhdrClass 0x%lx\n", __FUNCTION__, rpmhdrClass);
#ifdef	NOTYET
    rb_include_module(rpmhdrClass, rb_mEnumerable);
#endif
    rb_define_singleton_method(rpmhdrClass, "new", rpmhdr_new, -1);
    initProperties(rpmhdrClass);
    initMethods(rpmhdrClass);
}
jboolean followArgsGenericJavaCallback(CallTempStruct* call, DCArgs* args, int nTypes, ValueType* pTypes) 
{	
	JNIEnv* env = call->env;
	int iParam;
	jobjectArray arr;
	
	initMethods(env);
	
	arr = (*env)->NewObjectArray(env, nTypes, gObjectClass, NULL);
	
	for (iParam = 0; iParam < nTypes; iParam++) {
		ValueType type = pTypes[iParam];
		jobject arg = NULL;
		switch (type) {
			case eIntFlagSet:
				arg = BoxInt(env, (jint)getFlagValue(env, (jobject)dcbArgPointer(args)));
				break;
			case eIntValue:
				arg = BoxInt(env, dcbArgInt(args));
				break;
			case eTimeTObjectValue:
			case eSizeTObjectValue:
			case eCLongObjectValue:
				arg = dcbArgPointer(args);
				break;

			#define ARG_UNBOXED_INTEGRAL(type, capitalized) \
				{ \
					type v; \
					if (sizeof(type) == 4) \
						v = (type)dcbArgInt(args); \
					else \
						v = (type)dcbArgLongLong(args); \
					arg = Box ## capitalized(env, v); \
					break; \
				}
				
			case eCLongValue:
				ARG_UNBOXED_INTEGRAL(long, CLong);
				break;
			case eSizeTValue:
				ARG_UNBOXED_INTEGRAL(size_t, SizeT);
				break;
			case eLongValue:
				arg = BoxLong(env, dcbArgLongLong(args));
				break;
			case eShortValue:
				arg = BoxShort(env, dcbArgShort(args));
				break;
			case eBooleanValue:
			case eByteValue:
				arg = BoxByte(env, dcbArgChar(args));
				break;
			case eFloatValue:
				arg = BoxFloat(env, dcbArgFloat(args));
				break;
			case eDoubleValue:
				arg = BoxDouble(env, dcbArgDouble(args));
				break;
			case ePointerValue:
				{
					jobject callIO = call && call->pCallIOs ? *(call->pCallIOs++) : NULL;
					void* ptr = dcbArgPointer(args);
					arg = createPointerFromIO(env, ptr, callIO);
				}
				break;
			case eWCharValue:
				switch (sizeof(wchar_t)) {
				case 1:
					arg = BoxChar(env, dcbArgChar(args));
					break;
				case 2:
					arg = BoxChar(env, dcbArgShort(args));
					break;
				case 4:
					arg = BoxInt(env, dcbArgInt(args));
					break;
				default:
					throwException(env, "Invalid wchar_t size for argument !");
					return JNI_FALSE;
				}
				break;
			default:
				throwException(env, "Invalid argument value type !");
				return JNI_FALSE;
			
		}
		(*env)->SetObjectArrayElement(env, arr, iParam, arg);
	}
	dcArgPointer(call->vm, arr);
	
	if ((*env)->ExceptionCheck(env))
		return JNI_FALSE;
	return JNI_TRUE;
}