Regards,
Jim
- Code: Select all
# works with 64000
$ ./bccd2 -c -f -t comp
31950:TID=0:Main.cpp:93:I:logging enabled: level=6
31950:TID=0::0:I:Run Test: #11
31950:TID=0::0:I:original size=64000 compressed size=298
31950:TID=0::0:I:size=64000
# doesn't work with 36828 and other odd ranges
$$ ./bccd2 -c -f -t comp
32098:TID=0:Main.cpp:93:I:logging enabled: level=6
32098:TID=0::0:I:Run Test: #11
32098:TID=0::0:I:original size=36828 compressed size=179
32098:TID=0::0:I:size=36720
32098:TID=0::0:I:uncompress not equal to original
- Code: Select all
static int test_compression2(std::ostream &out) {
int size = 36828; // doesn't work
//int size = 64000; // works
string orginalMessage(size, 'a');
Buffer<char> buffer(size);
MemoryOutputStream mos(buffer.begin(), size);
DeflatingOutputStream dos(mos, -10, Z_BEST_SPEED); // use zlib with no header
//d.write(orginalMessage.data(), orginalMessage.size());
dos << orginalMessage;
dos.close();
int csize = mos.charsWritten();
out << "original size=" << size << " " << "compressed size=" << csize << endl;
MemoryInputStream mis(buffer.begin(), csize);
InflatingInputStream ii(mis, -10);
string uncompressedMessage;
ii >> uncompressedMessage;
out << "size=" << uncompressedMessage.size() << endl;
if (uncompressedMessage != orginalMessage) {
out << "uncompress not equal to original" << endl;
}
return 0;
}





