Exemplo n.º 1
0
} END_TEST

START_TEST(test_function_param_init)
{
    Parameter *parameter = parameter_init();
    ck_assert_ptr_eq(parameter->name, NULL);
    sql_parameter_free(parameter);
} END_TEST
Exemplo n.º 2
0
} END_TEST

START_TEST(test_sql_function_add_param)
{
    SqlFunction *function = sql_function_init();
    Parameter *parameter = parameter_init();
    SquealString *str = squeal_string_init("will", sizeof("will"));

    parameter->name = str;

    sql_function_add_param(&function, parameter);

    ck_assert_int_eq(1, function->total_params);
    ck_assert_int_eq(1, function->used_params);
    ck_assert_str_eq(parameter->name->val, function->params[0]->name->val);
    ck_assert_ptr_eq(parameter, function->params[0]);
    sql_function_free(function);
} END_TEST
Exemplo n.º 3
0
int nnlsm_blockpivot(double* AtA, double* AtB, int N, int K, double *X, double *Y,
	Nnlsm_param param)
{
	int niter = 0, bigiter, zeros;
	int maxiter = 5*K;
	int* P = param->P;
	int* Ninf = param->Ninf;
	int* PassiveSet = param->PassiveSet;
	int* NonOptSet = param->NonOptSet;
	int* InfeaSet = param->InfeaSet;
	int* NotGood = param->NotGood;
	int* Cols3Ix = param->Cols3Ix;
	int NotOptCols_nb, pbar;

	// init
	pbar = 3;
	zeros = parameter_init(PassiveSet, NotGood, Ninf, P, K, N, X);
	if (!zeros)
		niter += XY_update(AtA, AtB, PassiveSet, NotGood, N, N, K, X, Y, param);
	else 
		update_Y(AtA, AtB, X, Y, N, K);
	// opt_param
	opt_param_update(PassiveSet, NotGood, NonOptSet, InfeaSet, X, Y,&NotOptCols_nb, N, K);
	// main loop
	bigiter = 1;
	while (NotOptCols_nb && bigiter <= maxiter) {
		bigiter ++;
		// P and PassiveSet update
		PassiveSet_update(NotGood, Ninf, P, pbar, NonOptSet, PassiveSet, InfeaSet, N, K, Cols3Ix);
		// X and Y update
		niter += XY_update(AtA, AtB, PassiveSet, NotGood, NotOptCols_nb, N, K, X, Y, param);
		// opt_param update
		opt_param_update(PassiveSet, NotGood, NonOptSet, InfeaSet, X , Y, &NotOptCols_nb, N, K);
		bigiter++;
	}

	return niter;
}
Exemplo n.º 4
0
int unicorn_init(void)
{
    channel_tag fan = NULL;
    int ret = 0;
    board_info_t board_info; 

	printf("unicorn_init...\n");
    ret = eeprom_read_board_info(EEPROM_DEV, &board_info);
    if (ret < 0) {
        printf("Read eeprom board info failed\n");
        return -1;
    }

    if (!strncasecmp("bbp1s", board_info.name, 5)) {
            bbp_board_type = BOARD_BBP1S;
    } else if(!strncasecmp("bbp1", board_info.name, 4)){
            bbp_board_type = BOARD_BBP1;
    }

	printf("board name:%s, version:%s, get board type:%d \n", board_info.name, board_info.version, bbp_board_type);
    
    /* 
     * Create fifo 
     * fifo_plan2st, fifo_st2plan
     * fifo_plan2gc, fifo_gc2plan
     */
    Fifo_Attrs fAttrs = Fifo_Attrs_DEFAULT;
    hFifo_plan2st = Fifo_create(&fAttrs);
    hFifo_st2plan = Fifo_create(&fAttrs);
    if ((hFifo_st2plan == NULL) ||
        (hFifo_plan2st == NULL)) {
        printf("Create Fifo failed\n");
        return -1;
    }
    
    Pause_Attrs pAttrs = Pause_Attrs_DEFAULT;
    hPause_printing = Pause_create(&pAttrs);
    if (hPause_printing == NULL) { 
        printf("Create pause err\n");
        return -1;
    } else {
        Pause_on(hPause_printing);
    }

    /* set up unicorn system */
    ret = unicorn_setup();
    if (ret < 0) {
        return ret;
    }

    /* init sub systems of unicorn */
    ret = parameter_init(EEPROM_DEV);
    if (ret < 0) {
        printf("parameter_init failed\n");
        return ret;
    }

    ret = analog_init();
    if (ret < 0) {
        printf("analog_init failed\n");
        return ret;
    }

    ret = temp_init();
    if (ret < 0) {
        printf("temp_init failed\n");
        return ret;
    }

    ret = pwm_init();
    if (ret < 0) {
        printf("pwm_init failed\n");
        return ret;
    }

    ret = fan_init();
    if (ret < 0) {
        printf("fan_init failed\n");
        return ret;
    }

    ret = heater_init();
    if (ret < 0) {
        printf("heater_init failed\n");
        return ret;
    }

#ifdef SERVO
    if (bbp_board_type == BOARD_BBP1S) {
		ret = servo_init();
		if (ret < 0) {
			printf("servo_init failed\n");
			return ret;
		}
	}
#endif

    ret = lmsw_init();
    if (ret < 0) {
        printf("lmsw_init failed\n");
        return ret;
    }

    ret = plan_init();
    if (ret < 0) {
        printf("plan_init failed\n");
        return ret;
    }

    ret = stepper_init();
    if (ret < 0) {
        printf("stepper_init failed\n");
        return ret;
    }
    
    ret = gcode_init();
    if (ret < 0) {
        printf("gcode_init failed\n");
        return ret;
    }

    fan = fan_lookup_by_name("fan_3");
    if (fan) {
        fan_set_level(fan, DEFAULT_FAN_MAX_LEVEL);
        fan_enable(fan);
    }

    fan = fan_lookup_by_name("fan_4");
    if (fan) {
        fan_enable(fan);
        fan_set_level(fan, DEFAULT_FAN_MAX_LEVEL);
    }

    fan = fan_lookup_by_name("fan_5");
    if (fan) {
        fan_enable(fan);
        fan_set_level(fan, DEFAULT_FAN_MAX_LEVEL);
    }

    fan = fan_lookup_by_name("fan_6");
    if (fan) {
        fan_enable(fan);
        fan_set_level(fan, DEFAULT_FAN_MAX_LEVEL);
    }
  
	printf("unicorn_init ok!!!\n");
    return ret;
}