bfun* pos_co (bfun* b, int v) { // reuse cubes? No, because future splits may be on different variables // using no_dup makes the runtime quadratic! But may substantially reduce // the number of cubes in each sublist. TODO time this bfun* result = new_bfun(b->var_count); for (cube* c = b->begin; c != NULL; c = c->next) { cube* co_cube = NULL; switch (c->values[v]) { case dc: co_cube = copy(c, b->var_count); add_cube_no_dup(result, co_cube); break; case t: co_cube = copy(c, b->var_count); set_dc(co_cube, v); add_cube_no_dup(result, co_cube); break; } } return result; }
bfun* neg_co (bfun* b, int v) { bfun* result = new_bfun(b->var_count); for (cube* c = b->begin; c != NULL; c = c->next) { cube* co_cube = NULL; switch (c->values[v]) { case dc: co_cube = copy(c, b->var_count); add_cube_no_dup(result, co_cube); break; case f: co_cube = copy(c, b->var_count); set_dc(co_cube, v); add_cube_no_dup(result, co_cube); break; } } return result; }
bool CMonster::ReplaceSoul(const MonsterInfo &info, bool boss) { bBoss = boss; id = info.ID; name = info.name; set_head(info.Head); set_Lv(info.level); set_exp(info.exp); set_hp_m(info.hp); set_mp_m(info.mp); set_dc(info.DC1, info.DC2); set_mc(info.MC1, info.MC2); set_sc(0, 0); set_ac(info.AC, info.AC); set_mac(info.MAC, info.MAC); set_intervel(info.interval); QString str[10] = { QStringLiteral("ÆË»÷"), QStringLiteral("³åײ"), QStringLiteral("¿ÖÏÅ"), QStringLiteral("·É»÷"), QStringLiteral("Ó°»÷"), QStringLiteral("¶¾Êõ"), QStringLiteral("´ÎÉù²¨"), QStringLiteral("¼«ËÙ"), QStringLiteral("¾ÞÁ¦"), QStringLiteral("¼ṳ̀") }; skill.name = str[qrand() % 10]; return true; }
static inline int set_tx_dc(struct bladerf *dev, int16_t dc_i, int16_t dc_q) { return set_dc(dev, BLADERF_MODULE_TX, dc_i, dc_q); }