} 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
} 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
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; }
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; }