From fe57d608deef017c4ac15ab2b9cb156ae4050604 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Thu, 14 Oct 2021 12:01:05 +0300 Subject: [PATCH] test: Add tests for conversion between 64 bit integers and long double --- test/crt-test.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/crt-test.c b/test/crt-test.c index 82c760d..a301513 100644 --- a/test/crt-test.c +++ b/test/crt-test.c @@ -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;