Exemplo n.º 1
0
void CalculatorDialog::processResult(qreal newValue, QString opSymbol) {
    emit calculated( QString::number( lastResult ).append(" ").append( opSymbol)
                    .append(" ").append( QString::number( operand ) )
                    .append(" = ").append( QString::number( newValue ) ),
                    newValue);
    lastResult = newValue;
}
Exemplo n.º 2
0
/**
 * @brief Функция вычисления результата
 * @param dVal второй аргумент
 */
void Calculator::calc(double dVal) {
    switch (oper) {
        case Add:  dResult += dVal; break;
        case Sub:  dResult -= dVal; break;
        case Mult: dResult *= dVal; break;
        case Div:  dResult /= dVal; break;
    }
    emit calculated(dResult);
}
Exemplo n.º 3
0
/**
 * @brief Check it it's a valid Tox ID by verifying the checksum
 * @return True if it is a valid Tox ID, false otherwise.
 */
bool ToxId::isValid() const
{
    if (toxId.length() != TOX_ADDRESS_SIZE) {
        return false;
    }

    const int size = TOX_PUBLIC_KEY_SIZE + NOSPAM_BYTES;

    QByteArray data = toxId.left(size);
    QByteArray checksum = toxId.right(CHECKSUM_BYTES);
    QByteArray calculated(CHECKSUM_BYTES, 0x00);

    for (int i = 0; i < size; i++) {
        calculated[i % 2] = calculated[i % 2] ^ data[i];
    }

    return calculated == checksum;
}
Exemplo n.º 4
0
/**
 * @brief Функция очистки результата
 */
void Calculator::clear() {
    dResult = 0;
    emit calculated(dResult);
}
Exemplo n.º 5
0
IOperand const* Int32::operator/(IOperand const &rhs) const {
    eOperandType type = (getPrecision() >= rhs.getPrecision()) ?
            getType() : rhs.getType();
    return _factoryOperand.createOperand(type, calculated(_sValue,
            rhs.toString(), type, "div"));
}