void IncomeTaxObject::calculate() { bool isAnnualIncomeOk; QString lAnnualIncome = getAnnualIncome(); double lAnnualIncomeDouble = lAnnualIncome.toDouble(&isAnnualIncomeOk); double lFederalIncomeTaxDouble = calculateFederalTax(lAnnualIncomeDouble, getProvince()); double lProvincialIncomeTaxDouble = calculateProvincialTax(lAnnualIncomeDouble, getProvince()); bool isRrspContributionOk; QString lRrspContribution = getRrspContribution(); double lRrspContributionDouble = lRrspContribution.toDouble(&isRrspContributionOk); double lAnnualIncomeDoubleRrspDeducted = lAnnualIncomeDouble - lRrspContributionDouble; double lAfterTaxIncome = lAnnualIncomeDouble - lFederalIncomeTaxDouble - lProvincialIncomeTaxDouble; double lTotalIncomeTax = lFederalIncomeTaxDouble+lProvincialIncomeTaxDouble; double lAverageTaxRate = 0.0; if (lAnnualIncomeDouble != 0.0) { lAverageTaxRate = (lTotalIncomeTax/lAnnualIncomeDouble)*100; } double lTaxSavings = lTotalIncomeTax - calculateFederalTax(lAnnualIncomeDoubleRrspDeducted ,getProvince()) - calculateProvincialTax(lAnnualIncomeDoubleRrspDeducted, getProvince()); if (lTaxSavings < 0.00) { lTaxSavings = 0.00; } setAfterTaxIncome(QString("$")+formatCommas(QString::number(lAfterTaxIncome,'f',2))); setTotalIncomeTax(QString("$"+formatCommas(QString::number(lTotalIncomeTax, 'f', 2)))); setAverageTaxRate(QString(QString::number(lAverageTaxRate, 'f', 2))+"%"); setTaxSavings(QString("$")+formatCommas(QString::number(lTaxSavings, 'f', 2))); }
void SharedData::printStats(UINT64& prevProcessed, double timeDifference) { double percentageProcessed = (double)currentProcessed / (double)wikiFile->getFileSize() * 100.0; double searchRate = (double)(currentProcessed - prevProcessed) / timeDifference / MEBI; unsigned int eta = searchRate == 0 ? 0 : (wikiFile->getFileSize() - currentProcessed) / searchRate / MEBI; char etaString[5] = "N/A"; if (eta < 1000 && searchRate != 0) sprintf_s(etaString, "%u", eta); if (percentageProcessed >= 100) sprintf_s(etaString, "0"); char currentTotalString[64]; ZeroMemory(currentTotalString, 64); formatCommas(currentTotal, currentTotalString); char stats[128]; ZeroMemory(stats, 128); sprintf_s(stats, "%.2f%% ETA %s, %.2f MB/s, %d*, found %s, CPU %.f%% RAM %d MB\r\n", percentageProcessed, etaString, searchRate, activeThreads, currentTotalString, cpu.GetCpuUtilization(NULL), cpu.GetProcessRAMUsage(true)); printf("%s", stats); resultFile->writeLine(stats, strlen(stats)); prevProcessed = currentProcessed; }
int main(int argc, char** argv) { if (argc != 3) { printf("Error: Invalid number of arguments\n"); exit(-1); } char* keywordFileName = argv[1]; char* enwikiFileName = argv[2]; SYSTEM_INFO si; GetSystemInfo(&si); const DWORD numberOfProcessors = si.dwNumberOfProcessors; char wikiFileType[32] = "0"; auto index = strcspn(enwikiFileName, "-"); sprintf_s(wikiFileType, "%s", enwikiFileName + index + 1); ResultFile* resultFile = new ResultFile; resultFile->setWikiFileType(wikiFileType); DWORD startTime = timeGetTime(); ThreadManager threadManager(numberOfProcessors, enwikiFileName, keywordFileName, resultFile); threadManager.startThreads(); double execution_time = (double)(timeGetTime() - startTime) / CLOCKS_PER_SEC; char totalString[64]; ZeroMemory(totalString, 64); formatCommas(threadManager.totalFound(), totalString); char finalStats[64]; ZeroMemory(finalStats, 64); sprintf_s(finalStats, "\r\nTotal delay %.2f sec, total found %s\r\n", execution_time, totalString); printf("%s", finalStats); resultFile->writeLine(finalStats, strlen(finalStats)); resultFile->closeFile(); resultFile->popFileWindow(); }
/** Sets the field's data string */ void MFieldObject::setText(const QString txt) { QDate d; int pos, ret; QString month, day, year; QRegExp regexp("[0-9][0-9](-|//)[0-9][0-9](-|//)[0-9][0-9][0-9][0-9]"); double val; // Set the data switch (dataType) { case MFieldObject::String: if (aqApp->multiLangEnabled() && !txt.isEmpty()) { text = trUtf8(txt.utf8()); if (text == txt) text = tr(txt); } else text = txt; break; case MFieldObject::Integer: val = txt.toDouble(); if ((val < 0.5) && (val > -0.5) && blankZero) { text = QString::null; } else { text.setNum(val, 'f', 0); formatNegValue(); if (comma) formatCommas(); } break; case MFieldObject::Float: val = txt.toDouble(); if ((val < 0.0000001) && (val > -0.0000001) && blankZero) { text = QString::null; } else { text.setNum(val, 'f', precision); formatNegValue(); if (comma) formatCommas(); } break; case MFieldObject::Date: if (txt.isEmpty()) text = QString::null; else { // Check if we can read the date and if so, reformat it ... pos = regexp.search(txt.mid(0)); ret = regexp.matchedLength(); if (ret == -1) { year = txt.left(4); day = txt.right(2); month = txt.mid(5, 2); if (year.toInt() != 0 && month.toInt() != 0 && day.toInt() != 0) { d.setYMD(year.toInt(), month.toInt(), day.toInt()); text = MUtil::formatDate(d, format); } else { text = QString::null; } } else text = txt; } break; case MFieldObject::Currency: val = txt.toDouble(); if ((val < 0.01) && (val > -0.01) && blankZero) { text = QString::null; } else { text.setNum(val, 'f', 2); formatNegValue(); if (comma) formatCommas(); text.append(currency); } break; case MFieldObject::Pixmap: if (!txt.isEmpty() && paintFunction.isEmpty()) { if (!pixmap) pixmap = new QPixmap(); QCString cs(txt); if (!QPixmapCache::find(cs.left(100), *pixmap)) { if (QFile::exists(txt)) pixmap->load(txt); else pixmap->loadFromData(cs); if (!pixmap->isNull()) QPixmapCache::insert(cs.left(100), *pixmap); } if (pixmap->isNull()) { delete pixmap; pixmap = 0; } } else { if (pixmap) { delete pixmap; pixmap = 0; } } break; case MFieldObject::Codbar: { if (!txt.isEmpty() && paintFunction.isEmpty()) { FLCodBar cb(txt, codbarType, 10, 1, 0, 0, true, Qt::black, Qt::white, codbarRes); if (!pixmap) pixmap = new QPixmap(); if (!cb.pixmap().isNull()) *pixmap = cb.pixmap(); else { delete pixmap; pixmap = 0; } } else { if (pixmap) { delete pixmap; pixmap = 0; } } } break; case MFieldObject::Bool: bool ok; double d = txt.toDouble(&ok); if (txt.upper() == "FALSE" || txt.upper() == "F" || (d == 0 && ok)) text = tr("No"); else text = tr("Sí"); break; } }