Project

General

Profile

« Previous | Next » 

Revision ddd2cb4a

Added by David Sorber almost 8 years ago

Improve PCA post processing output message formatting.

View differences:

software/photo_compress_archiver/PhotoCompressArchiver.cc
<< "ERROR: " << msg << std::endl; \
}
// Helper functions
std::string _format_num_bytes(uint64_t num_bytes)
{
const uint64_t tera = (1024 * 1024 * 1024L);
const uint64_t giga = (1024 * 1024 * 1024L);
const uint64_t mega = (1024 * 1024L);
const uint64_t kilo = 1024L;
double fractional;
std::ostringstream output;
if (num_bytes >= tera)
{
// Tera
fractional = ((double)num_bytes) / tera;
output << std::fixed << std::setprecision(2) << fractional;
output << " TB";
}
else if (num_bytes >= giga)
{
// Giga
fractional = ((double)num_bytes) / giga;
output << std::fixed << std::setprecision(2) << fractional;
output << " GB";
}
else if (num_bytes >= mega)
{
// Mega
fractional = ((double)num_bytes) / mega;
output << std::fixed << std::setprecision(2) << fractional;
output << " MB";
}
else if (num_bytes >= kilo)
{
// Kilo
fractional = ((double)num_bytes) / kilo;
output << std::fixed << std::setprecision(2) << fractional;
output << " KB";
}
else
{
// Bytes
output << num_bytes << " b";
}
return output.str();
}
PhotoCompressArchiver::PhotoCompressArchiver(
const std::string& path,
uint32_t num_threads,
......
if (! m_decompress)
{
std::cout << " Total uncompressed bytes: "
<< m_total_uncompressed_size << "\n" << std::endl;
<< _format_num_bytes(m_total_uncompressed_size) << "\n"
<< std::endl;
}
// Add terminator for each worker thread
......
if (! m_decompress)
{
std::cout << "\n Total uncompressed bytes: "
<< m_total_uncompressed_size << std::endl;
std::cout << " Total compressed bytes: " << m_total_compressed_size
<< std::endl;
<< _format_num_bytes(m_total_uncompressed_size) << std::endl;
std::cout << " Total compressed bytes: "
<< _format_num_bytes(m_total_compressed_size) << std::endl;
// Calculate and display ratio
double ratio = (double)m_total_compressed_size / m_total_uncompressed_size;
std::cout << " Compression ratio: " << std::fixed
<< std::setprecision(4) << (ratio * 100) << "%" << std::endl;
std::cout << " Compression ratio: " << std::fixed
<< std::setprecision(2) << (ratio * 100) << "%" << std::endl;
}
else
{
......
}
// Display execution duration
std::cout << " Total time: " << duration << " s\n" << std::endl;
std::cout << " Total time: " << duration << " s\n" << std::endl;
return 0;
}

Also available in: Unified diff