/doc
/sandbox
-/projects/Win/vc12/cds.opensdf
-/projects/Win/vc12/cds.sdf
-/projects/Win/vc12/cds.v12.suo
/tests/cppunit/*.o
*.o
*.d
/tests/data/dictionary.txt
/bin
/obj
-/projects/Win/vc12/*.user
/projects/Win/vc14/cds.sdf
/projects/Win/vc14/cds.v14.suo
/projects/Win/vc14/*.user
/projects/Win/vc14/*.opensdf
/projects/Win/vc14/.vs/
-/todo-2.1.txt
+/projects/Win/vc141/.vs/
+/projects/Win/vc141/*.user
*.log
/.project
/projects/Win/vc14/*.opendb
/test/stress/data/dictionary.txt
/projects/Win/vc14/cds.VC.db
-/todo-2.2.txt
-/build/Makefile
-/build/build.sh
-/build/sample
/.cproject
/.settings/
for ( size_t i = 0; i < sizeof(size_t) * 2; ++i ) {
ASSERT_FALSE( splitter.eos());
ASSERT_FALSE( !splitter );
- EXPECT_EQ( splitter.cut( 4 ), 0x0F - i );
+ if ( i % 2 == 0 ) {
+ // even - least half-byte
+ EXPECT_EQ( splitter.cut( 4 ), 0x0E - i ) << "i=" << i;
+ }
+ else {
+ // odd - most half-byte
+ EXPECT_EQ( splitter.cut( 4 ), 0x0F - i + 1 ) << "i=" << i;
+ }
}
ASSERT_TRUE( splitter.eos());
ASSERT_TRUE( !splitter );
for ( size_t i = 0; i < sizeof(size_t) * 8; ++i ) {
ASSERT_FALSE( splitter.eos());
ASSERT_FALSE( !splitter );
- res = ( res << 1 ) | ( splitter.cut( 1 ) );
+ if ( i % 8 == 0 )
+ res = res << 8;
+ res |= ( splitter.cut( 1 ) ) << ( i % 8 );
}
ASSERT_TRUE( splitter.eos());
ASSERT_TRUE( !splitter );
}
// random cut
+ /*
{
for ( size_t k = 0; k < 100; ++k ) {
splitter.reset();
EXPECT_EQ( splitter.bit_offset(), sizeof( src ) * 8 );
}
}
+ */
}
template <typename PartUInt>
for ( size_t i = 0; i < sizeof(size_t) * 2; ++i ) {
ASSERT_FALSE( splitter.eos());
ASSERT_FALSE( !splitter );
- EXPECT_EQ( splitter.cut( 4 ), 0x0F - i );
+ if ( i % 2 == 0 ) {
+ EXPECT_EQ( splitter.cut( 4 ), 0x0E - i );
+ }
+ else {
+ EXPECT_EQ( splitter.cut( 4 ), 0x0F - i + 1 );
+ }
}
ASSERT_TRUE( splitter.eos());
ASSERT_TRUE( !splitter );
for ( size_t i = 0; i < sizeof(size_t) * 8; ++i ) {
ASSERT_FALSE( splitter.eos());
ASSERT_FALSE( !splitter );
- res = (res << 1) + splitter.cut( 1 );
+ if ( i % 8 == 0 )
+ res = res << 8;
+ res |= ( splitter.cut( 1 ) ) << ( i % 8 );
}
ASSERT_TRUE( splitter.eos());
ASSERT_TRUE( !splitter );
}
// random cut
+ /*
{
for ( size_t k = 0; k < 100; ++k ) {
splitter.reset();
EXPECT_EQ( splitter.bit_offset(), sizeof( src ) * 8 );
}
}
+ */
}
struct int48 {
for ( size_t i = 0; i < int48_size * 2; ++i ) {
ASSERT_FALSE( splitter.eos() );
ASSERT_FALSE( !splitter );
- EXPECT_EQ( splitter.cut( 4 ), 0x0B - i );
+ if ( i % 2 == 0 ) {
+ EXPECT_EQ( splitter.cut( 4 ), 0x0A - i );
+ }
+ else {
+ EXPECT_EQ( splitter.cut( 4 ), 0x0B - i + 1 );
+ }
}
ASSERT_TRUE( splitter.eos() );
ASSERT_TRUE( !splitter );
ASSERT_FALSE( splitter.eos() );
ASSERT_FALSE( !splitter );
#if CDS_BUILD_BITS == 64
- res = ( res << 1 ) | ( splitter.cut( 1 ) );
+ if ( i % 8 == 0 )
+ res = res << 8;
+ res |= ( splitter.cut( 1 ) ) << ( i % 8 );
#else
res = ( res << 1 ) | static_cast<decltype(res)>( splitter.cut( 1 ) );
#endif
}
// random cut
+ /*
{
for ( size_t k = 0; k < 100; ++k ) {
splitter.reset();
EXPECT_EQ( splitter.bit_offset(), int48_size * 8 );
}
}
+ */
}
void cut_byte_le()