Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:30

0001 // name=sbit_ ; gcc $name.cc -std=c++11 -lstdc++ -o /tmp/$name && /tmp/$name
0002 
0003 #include <cassert>
0004 #include <cstdio>
0005 #include "sbit_.h"
0006 
0007 int main(int argc, char** argv)
0008 {
0009     for(unsigned a=0 ; a < 2 ; a++)
0010     for(unsigned b=0 ; b < 2 ; b++)
0011     for(unsigned c=0 ; c < 2 ; c++)
0012     for(unsigned d=0 ; d < 2 ; d++)
0013     for(unsigned e=0 ; e < 2 ; e++)
0014     for(unsigned f=0 ; f < 2 ; f++)
0015     for(unsigned g=0 ; g < 2 ; g++)
0016     for(unsigned h=0 ; h < 2 ; h++)
0017     {
0018          unsigned char packed0 = sbit_rPACK8(a, b, c, d, e, f, g, h); 
0019 
0020          bool _a(a) ; 
0021          bool _b(b) ; 
0022          bool _c(c) ; 
0023          bool _d(d) ; 
0024          bool _e(e) ; 
0025          bool _f(f) ; 
0026          bool _g(g) ; 
0027          bool _h(h) ; 
0028 
0029          unsigned char packed1 = sbit_rPACK8(_a, _b, _c, _d, _e, _f, _g, _h); 
0030          assert( packed0 == packed1 ); 
0031          unsigned char packed = packed0 ; 
0032 
0033          unsigned a1 = sbit_rUNPACK8_0(packed) ; 
0034          unsigned b1 = sbit_rUNPACK8_1(packed) ; 
0035          unsigned c1 = sbit_rUNPACK8_2(packed) ; 
0036          unsigned d1 = sbit_rUNPACK8_3(packed) ; 
0037          unsigned e1 = sbit_rUNPACK8_4(packed) ; 
0038          unsigned f1 = sbit_rUNPACK8_5(packed) ; 
0039          unsigned g1 = sbit_rUNPACK8_6(packed) ; 
0040          unsigned h1 = sbit_rUNPACK8_7(packed) ; 
0041  
0042          assert( a == a1 ); 
0043          assert( b == b1 ); 
0044          assert( c == c1 ); 
0045          assert( d == d1 ); 
0046          assert( e == e1 ); 
0047          assert( f == f1 ); 
0048          assert( g == g1 ); 
0049          assert( h == h1 ); 
0050 
0051          printf(" a %d b %d c %d d %d e %d f %d g %d h %d    %d%d%d%d%d%d%d%d    %4d  \n", a,b,c,d,e,f,g,h, a,b,c,d,e,f,g,h, packed ); 
0052     }
0053     return 0 ; 
0054 }