1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
ZXCORE_EXP bool zx_vluMt( zxuchr* src, size_t ssize, zxuchr* val, size_t vsize )
{
size_t i = 0;
return ( !zx__vluEe( src, ssize, val, vsize, &i ) &&
( src && ssize > i && val && vsize > i && src[ i ] > val[ i ] ) );
}
ZXCORE_EXP bool zx_vlsMt( zxuchr* src, size_t ssize, zxuchr* val, size_t vsize )
{
size_t i = 0;
zxschr s = 0;
if ( src && (zxschr)src[ ssize - 1 ] < 0 )
s = -1;
if ( val && (zxschr)val[ vsize - 1 ] < 0 )
{
if ( s < 0 )
return ( !zx__vluEe( src, ssize, val, vsize, &i ) &&
ssize > i && vsize > i && src[ i ] > val[ i ] );
return true;
}
if ( s < 0 )
return false;
return ( !zx__vluEe( src, ssize, val, vsize, &i ) &&
ssize > i && vsize > i && src[ i ] > val[ i ] );
}
ZXCORE_EXP bool zx_vlusMt( zxuchr* src, size_t ssize, zxuchr* val, size_t vsize )
{
size_t i = 0;
if ( val && (zxschr)val[ vsize - 1 ] < 0 )
return true;
return ( !zx__vluEe( src, ssize, val, vsize, &i ) && src && val &&
ssize > i && vsize > i && src[ i ] > val[ i ] );
}
ZXCORE_EXP bool zx_vlsuMt( zxuchr* src, size_t ssize, zxuchr* val, size_t vsize )
{
size_t i = 0;
if ( src && (zxschr)src[ ssize - 1 ] < 0 )
return false;
return ( !zx__vluEe( src, ssize, val, vsize, &i ) && src && val &&
ssize > i && vsize > i && src[ i ] > val[ i ] );
}
#if ZXCPP
bool zx_Vli::operator>( zx__Vli val )
{
if ( m_isSigned )
{
if ( val.m_isSigned )
return zx_vlsMt( m_buff, m_size, val.m_buff, val.m_size );
return zx_vlsuMt( m_buff, m_size, val.m_buff, val.m_size );
}
if ( val.m_isSigned )
return zx_vlusMt( m_buff, m_size, val.m_buff, val.m_size );
return zx_vluMt( m_buff, m_size, val.m_buff, val.m_size );
}
#endif
|