third_party/inchi/INCHI_BASE/src/ikey_base26.c
const char* base26_triplet_4( const unsigned char *a )
{
    UINT32 b0, b1, h;
#ifndef FIX_BASE26_ENC_BUG
    b0 = (UINT32) ( a[5] & 0xfc );   /* 1111 1100  */
    b1 = (UINT32) ( a[6] );         /* 1111 1111  */
    h = (UINT32) ( b0 | b1 << 8 ) >> 2;
#else
    b0 = (UINT32) ( a[5] & 0x3f );   /* 0011 1111  */
    b1 = (UINT32) ( a[6] );         /* 1111 1111  */
    h = (UINT32) ( b0 << 8 | b1 );
#endif
    return t26[h];
}
/****************************************************************************
 Get a character representing 4th 14-bit triplet (bits 42..55)
****************************************************************************/
Get a character representing 4th 14-bit triplet (bits 42..55)
Get a character representing 4th 14 - bit triplet ( bits 42 .. 55 )
const char* base26_triplet_4( const unsigned char *a )
{
    UINT32 b0, b1, h;
#ifndef FIX_BASE26_ENC_BUG
    b0 = (UINT32) ( a[5] & 0xfc );   
    b1 = (UINT32) ( a[6] );         
    h = (UINT32) ( b0 | b1 << 8 ) >> 2;
#else
    b0 = (UINT32) ( a[5] & 0x3f );   
    b1 = (UINT32) ( a[6] );         
    h = (UINT32) ( b0 << 8 | b1 );
#endif
    return t26[h];
}
const char * base26_triplet_4 ( const unsigned char * a ) { UINT32 b0 , b1 , h ; #ifndef FIX_BASE26_ENC_BUG b0 = ( UINT32 ) ( a [ 5 ] & 0xfc ) ; b1 = ( UINT32 ) ( a [ 6 ] ) ; h = ( UINT32 ) ( b0 | b1 << 8 ) >> 2 ; #else b0 = ( UINT32 ) ( a [ 5 ] & 0x3f ) ; b1 = ( UINT32 ) ( a [ 6 ] ) ; h = ( UINT32 ) ( b0 << 8 | b1 ) ; #endif return t26 [ h ] ; }
Get a character representing 4th 14-bit triplet (bits 42..55)
Get a character representing 4th 14 - bit triplet ( bits 42 .. 55 )
/* 1111 1100  */ /* 1111 1111  */ /* 0011 1111  */ /* 1111 1111  */