#include <bee2/core/dec.h>
#include <bee2/core/str.h>
#include <bee2/core/u32.h>
#ifdef U64_SUPPORT
#include <bee2/core/u64.h>
#endif
bool_t decTest()
{
char dec[21];
decFromU32(dec, 10, U32_MAX);
if (!strEq(dec, "4294967295") ||
decToU32(dec) != U32_MAX)
return FALSE;
#ifdef U64_SUPPORT
decFromU64(dec, 20, U64_MAX);
if (!strEq(dec, "18446744073709551615") ||
decToU64(dec) != U64_MAX)
return FALSE;
#endif
if (decLuhnCalc("7992739871") != '3' ||
!decLuhnVerify("79927398713") ||
decLuhnVerify("69927398713") ||
decDammCalc("572") != '4' ||
!decDammVerify("5724") ||
decDammVerify("5274"))
return FALSE;
return TRUE;
}