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;
}
Example #2
0
/*
 * 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;
}
Example #3
0
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());
    }
}