static CAmount make_hard_case(int utxos, std::vector<CInputCoin>& utxo_pool) { utxo_pool.clear(); CAmount target = 0; for (int i = 0; i < utxos; ++i) { target += (CAmount)1 << (utxos+i); add_coin((CAmount)1 << (utxos+i), 2*i, utxo_pool); add_coin(((CAmount)1 << (utxos+i)) + ((CAmount)1 << (utxos-1-i)), 2*i + 1, utxo_pool); } return target; }
/* * Adds 'count' coins of value 'denom' * */ BOOLEAN add_denom(struct coin coins[], unsigned denom, unsigned count) { switch(denom) { case 5: add_coin(coins, FIVE_CENTS, count); break; case 10: add_coin(coins, TEN_CENTS, count); break; case 20: add_coin(coins, TWENTY_CENTS, count); break; case 50: add_coin(coins, FIFTY_CENTS, count); break; case 100: add_coin(coins, ONE_DOLLAR, count); break; case 200: add_coin(coins, TWO_DOLLARS, count); break; case 500: add_coin(coins, FIVE_DOLLARS, count); break; case 1000: add_coin(coins, TEN_DOLLARS, count); break; default: return FALSE; } return TRUE; }
void Model::init_coins(QJsonArray coins_array){ QJsonObject coin_obj; for(int i=0; i<coins_array.size();i++){ coin_obj=coins_array[i].toObject(); add_coin(coin_obj["line"].toInt(), coin_obj["column"].toInt()); } }