test: Add tests for conversion between 64 bit integers and long double

This commit is contained in:
Martin Storsjö committed 2021-10-14 12:34:00 +03:00
1 parent 13d48841a0
commit fe57d608de
1 file changed
+11
+11
View File
@@ -1692,17 +1692,28 @@ int main(int argc, char* argv[]) {
TEST_INT((signed long long)(float)F(274877906944), 274877906944ULL);
TEST_INT((signed long long)(float)F(-274877906944), -274877906944LL);
TEST_INT((unsigned long long)(long double)F(4.2), 4);
TEST_INT((signed long long)(long double)F(4.2), 4);
TEST_INT((unsigned long long)(long double)F(274877906944), 274877906944ULL);
TEST_INT((signed long long)(long double)F(274877906944), 274877906944ULL);
TEST_INT((signed long long)(long double)F(-274877906944), -274877906944LL);
TEST_FLT((double)LL(4), 4.0);
TEST_FLT((float)LL(4), 4.0);
TEST_FLT((long double)LL(4), 4.0);
TEST_FLT((double)LL(123456789012345), 123456789012345.0);
TEST_FLT((double)LL(-123456789012345), -123456789012345.0);
TEST_FLT((float)LL(274877906944), 274877906944.0);
TEST_FLT((float)LL(-274877906944), -274877906944.0);
TEST_FLT((long double)LL(274877906944), 274877906944.0);
TEST_FLT((long double)LL(-274877906944), -274877906944.0);
TEST_FLT((double)ULL(4), 4.0);
TEST_FLT((float)ULL(4), 4.0);
TEST_FLT((long double)ULL(4), 4.0);
TEST_FLT((double)ULL(17293822569102704640), 17293822569102704640.0);
TEST_FLT((float)ULL(17293822569102704640), 17293822569102704640.0);
TEST_FLT((long double)ULL(17293822569102704640), 17293822569102704640.0);
#ifdef _WIN32
long value = 0;