89 lines
2.1 KiB
C++
89 lines
2.1 KiB
C++
#include <chaiscript/chaiscript.hpp>
|
|
|
|
#define TEST_LITERAL(v) test_literal(v, #v)
|
|
|
|
template<typename T>
|
|
bool test_literal(T val, const std::string &str)
|
|
{
|
|
chaiscript::ChaiScript chai;
|
|
T val2 = chai.eval<T>(str);
|
|
std::cout << "Comparing : " << val << " " << val2 << std::endl;
|
|
return val == val2;
|
|
}
|
|
|
|
int main()
|
|
{
|
|
if( TEST_LITERAL(0xF)
|
|
&& TEST_LITERAL(0xFF)
|
|
&& TEST_LITERAL(0xFFF)
|
|
&& TEST_LITERAL(0xFFFF)
|
|
&& TEST_LITERAL(0xFFFFF)
|
|
&& TEST_LITERAL(0xFFFFFF)
|
|
&& TEST_LITERAL(0xFFFFFFF)
|
|
&& TEST_LITERAL(0xFFFFFFFF)
|
|
&& TEST_LITERAL(0xFFFFFFFFF)
|
|
&& TEST_LITERAL(0xFFFFFFFFFF)
|
|
&& TEST_LITERAL(0xFFFFFFFFFFF)
|
|
&& TEST_LITERAL(0xFFFFFFFFFFFF)
|
|
&& TEST_LITERAL(0xFFFFFFFFFFFFF)
|
|
&& TEST_LITERAL(0xFFFFFFFFFFFFFF)
|
|
&& TEST_LITERAL(0xFFFFFFFFFFFFFFF)
|
|
&& TEST_LITERAL(0xFFFFFFFFFFFFFFFF)
|
|
|
|
|
|
&& TEST_LITERAL(01)
|
|
&& TEST_LITERAL(017)
|
|
&& TEST_LITERAL(0177)
|
|
&& TEST_LITERAL(01777)
|
|
&& TEST_LITERAL(017777)
|
|
&& TEST_LITERAL(0177777)
|
|
&& TEST_LITERAL(01777777)
|
|
&& TEST_LITERAL(017777777)
|
|
&& TEST_LITERAL(0177777777)
|
|
&& TEST_LITERAL(01777777777)
|
|
&& TEST_LITERAL(017777777777)
|
|
&& TEST_LITERAL(0177777777777)
|
|
&& TEST_LITERAL(01777777777777)
|
|
&& TEST_LITERAL(017777777777777)
|
|
&& TEST_LITERAL(0177777777777777)
|
|
&& TEST_LITERAL(01777777777777777)
|
|
&& TEST_LITERAL(017777777777777777)
|
|
&& TEST_LITERAL(0177777777777777777)
|
|
&& TEST_LITERAL(01777777777777777777)
|
|
&& TEST_LITERAL(017777777777777777777)
|
|
&& TEST_LITERAL(0177777777777777777777)
|
|
&& TEST_LITERAL(01777777777777777777777)
|
|
|
|
&& TEST_LITERAL(1)
|
|
&& TEST_LITERAL(17)
|
|
&& TEST_LITERAL(177)
|
|
&& TEST_LITERAL(1777)
|
|
&& TEST_LITERAL(17777)
|
|
&& TEST_LITERAL(177777)
|
|
&& TEST_LITERAL(1777777)
|
|
&& TEST_LITERAL(17777777)
|
|
&& TEST_LITERAL(177777777)
|
|
&& TEST_LITERAL(1777777777)
|
|
&& TEST_LITERAL(17777777777)
|
|
&& TEST_LITERAL(177777777777)
|
|
&& TEST_LITERAL(1777777777777)
|
|
&& TEST_LITERAL(17777777777777)
|
|
&& TEST_LITERAL(177777777777777)
|
|
&& TEST_LITERAL(1777777777777777)
|
|
&& TEST_LITERAL(17777777777777777)
|
|
&& TEST_LITERAL(177777777777777777)
|
|
&& TEST_LITERAL(1777777777777777777)
|
|
|
|
)
|
|
{
|
|
return EXIT_SUCCESS;
|
|
} else {
|
|
return EXIT_FAILURE;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|