abc/src/bool/lucky/luckyFast16.c
//It compares iQ and jQ and returns 0 if iQ is smaller then jQ ( comparison starts at highest bit) and 1 if jQ is
// DifStart contains the information about the first different bit in iQ and jQ
It compares iQ and jQ and returns 0 if iQ is smaller then jQ ( comparison starts at highest bit) and 1 if jQ is
DifStart contains the information about the first different bit in iQ and jQ
It compares iQ and jQ and returns 0 if iQ is smaller then jQ ( comparison starts at highest bit ) and 1 if jQ is DifStart contains the information about the first different bit in iQ and jQ
int minTemp2_fast(word* pInOut, int iVar, int iQ, int jQ, int nWords, int* pDifStart)
{
    int i, blockSize = 1<<iVar;
    word temp;
    for(i=nWords - 1; i>=0; i--)
    {
        assert( jQ*blockSize < 64 );
        temp = ((pInOut[i] & SFmask[iVar][iQ])<<(iQ*blockSize)) ^ ((pInOut[i] & SFmask[iVar][jQ])<<(jQ*blockSize));
        if( temp == 0)
            continue;
        else
        {
            *pDifStart = i*100 + 20 - firstShiftWithOneBit(temp, blockSize);
            if( ((pInOut[i] & SFmask[iVar][iQ])<<(iQ*blockSize)) <= ((pInOut[i] & SFmask[iVar][jQ])<<(jQ*blockSize)) )
                return 0;
            else
                return 1;
        }
    }
    *pDifStart=0;
    return 0;
}
int minTemp2_fast ( word * pInOut , int iVar , int iQ , int jQ , int nWords , int * pDifStart ) { int i , blockSize = 1 << iVar ; word temp ; for ( i = nWords - 1 ; i >= 0 ; i -- ) { assert ( jQ * blockSize < 64 ) ; temp = ( ( pInOut [ i ] & SFmask [ iVar ] [ iQ ] ) << ( iQ * blockSize ) ) ^ ( ( pInOut [ i ] & SFmask [ iVar ] [ jQ ] ) << ( jQ * blockSize ) ) ; if ( temp == 0 ) continue ; else { * pDifStart = i * 100 + 20 - firstShiftWithOneBit ( temp , blockSize ) ; if ( ( ( pInOut [ i ] & SFmask [ iVar ] [ iQ ] ) << ( iQ * blockSize ) ) <= ( ( pInOut [ i ] & SFmask [ iVar ] [ jQ ] ) << ( jQ * blockSize ) ) ) return 0 ; else return 1 ; } } * pDifStart = 0 ; return 0 ; }
It compares iQ and jQ and returns 0 if iQ is smaller then jQ ( comparison starts at highest bit) and 1 if jQ is
DifStart contains the information about the first different bit in iQ and jQ
It compares iQ and jQ and returns 0 if iQ is smaller then jQ ( comparison starts at highest bit ) and 1 if jQ is DifStart contains the information about the first different bit in iQ and jQ