|
|
@@ -0,0 +1,518 @@
|
|
|
+[1mdiff --git a/include/EAStdC/EAProcess.h b/include/EAStdC/EAProcess.h[m
|
|
|
+[1mindex 8682f15..0b69020 100644[m
|
|
|
+[1m--- a/include/EAStdC/EAProcess.h[m
|
|
|
+[1m+++ b/include/EAStdC/EAProcess.h[m
|
|
|
+[36m@@ -29,7 +29,7 @@[m [mnamespace EA[m
|
|
|
+ #if defined(EA_PLATFORM_WINDOWS) && EA_WINAPI_FAMILY_PARTITION(EA_WINAPI_PARTITION_DESKTOP)[m
|
|
|
+ const int kMaxPathLength = _MAX_PATH;[m
|
|
|
+ const int kMaxDirectoryLength = _MAX_PATH;[m
|
|
|
+[31m- #elif defined(EA_PLATFORM_XBOXONE)[m
|
|
|
+[32m+[m [32m#elif defined(EA_PLATFORM_XBOXONE) || defined(CS_UNDEFINED_STRING)[m
|
|
|
+ const int kMaxPathLength = 260;[m
|
|
|
+ const int kMaxDirectoryLength = 260;[m
|
|
|
+ #elif defined(EA_PLATFORM_SONY)[m
|
|
|
+[1mdiff --git a/include/EAStdC/internal/Config.h b/include/EAStdC/internal/Config.h[m
|
|
|
+[1mindex 5c80cf2..08f0a29 100644[m
|
|
|
+[1m--- a/include/EAStdC/internal/Config.h[m
|
|
|
+[1m+++ b/include/EAStdC/internal/Config.h[m
|
|
|
+[36m@@ -32,8 +32,8 @@[m
|
|
|
+ ///////////////////////////////////////////////////////////////////////////////[m
|
|
|
+ [m
|
|
|
+ #ifndef EASTDC_VERSION[m
|
|
|
+[31m- #define EASTDC_VERSION "1.26.06"[m
|
|
|
+[31m- #define EASTDC_VERSION_N 12606[m
|
|
|
+[32m+[m [32m#define EASTDC_VERSION "1.26.07"[m
|
|
|
+[32m+[m [32m#define EASTDC_VERSION_N 12607[m
|
|
|
+ #endif[m
|
|
|
+ [m
|
|
|
+ [m
|
|
|
+[1mdiff --git a/source/EAStopwatch.cpp b/source/EAStopwatch.cpp[m
|
|
|
+[1mindex 4410625..9cded62 100644[m
|
|
|
+[1m--- a/source/EAStopwatch.cpp[m
|
|
|
+[1m+++ b/source/EAStopwatch.cpp[m
|
|
|
+[36m@@ -194,7 +194,7 @@[m [mvoid EAStdCStopwatchSetup()[m
|
|
|
+ // Stopwatch Frequency[m
|
|
|
+ mnStopwatchFrequency = mnCPUFrequency;[m
|
|
|
+ [m
|
|
|
+[31m- #elif defined(EA_PLATFORM_XBOXONE)[m
|
|
|
+[32m+[m [32m#elif defined(EA_PLATFORM_XBOXONE) || defined(CS_UNDEFINED_STRING)[m
|
|
|
+ // Microsoft has stated (https://forums.xboxlive.com/AnswerPage.aspx?qid=c3fcdad5-f3e4-46d9-85f9-d337506f0d6b&tgt=1) that [m
|
|
|
+ // QueryPerformanceCounter / QueryPerformanceFrequency map to rdtsc and they are stable throughout the life of the process.[m
|
|
|
+ // Thus we can use QueryPerformanceFrequency to portable tell the CPU frequency for our usage of rdtsc.[m
|
|
|
+[1mdiff --git a/test/include/EAStdCTest/EAStdCTest.h b/test/include/EAStdCTest/EAStdCTest.h[m
|
|
|
+[1mindex 462c2cc..59c3787 100644[m
|
|
|
+[1m--- a/test/include/EAStdCTest/EAStdCTest.h[m
|
|
|
+[1m+++ b/test/include/EAStdCTest/EAStdCTest.h[m
|
|
|
+[36m@@ -193,6 +193,35 @@[m [mextern volatile int gWriteToEnsureFunctionCalled;[m
|
|
|
+ [m
|
|
|
+ #endif[m
|
|
|
+ [m
|
|
|
+[32m+[m[32minline double DoubleAbsoluteDifference(double x1, double x2)[m
|
|
|
+[32m+[m[32m{[m
|
|
|
+[32m+[m [32mreturn (x1 < x2) ? (x2 - x1) : (x1 - x2);[m
|
|
|
+[32m+[m[32m}[m
|
|
|
+[32m+[m
|
|
|
+[32m+[m[32minline bool DoubleEqual(double x1, double x2)[m
|
|
|
+[32m+[m[32m{[m
|
|
|
+[32m+[m [32mif(x1 < 1e-15)[m
|
|
|
+[32m+[m [32mreturn (x2 < 1e-15);[m
|
|
|
+[32m+[m [32melse if(x2 < 1e-15)[m
|
|
|
+[32m+[m [32mreturn (x1 < 1e-15);[m
|
|
|
+[32m+[m [32melse[m
|
|
|
+[32m+[m [32mreturn DoubleAbsoluteDifference((x1 - x2) / x1, 1e-15) < 1e-13;[m
|
|
|
+[32m+[m[32m}[m
|
|
|
+[32m+[m
|
|
|
+[32m+[m[32minline double FloatAbsoluteDifference(float x1, float x2)[m
|
|
|
+[32m+[m[32m{[m
|
|
|
+[32m+[m [32mreturn (x1 < x2) ? (x2 - x1) : (x1 - x2);[m
|
|
|
+[32m+[m[32m}[m
|
|
|
+[32m+[m
|
|
|
+[32m+[m[32minline bool FloatEqual(float x1, float x2)[m
|
|
|
+[32m+[m[32m{[m
|
|
|
+[32m+[m [32mif(x1 < 1e-7f)[m
|
|
|
+[32m+[m [32mreturn (x2 < 1e-7f);[m
|
|
|
+[32m+[m [32melse if(x2 < 1e-7f)[m
|
|
|
+[32m+[m [32mreturn (x1 < 1e-7f);[m
|
|
|
+[32m+[m [32melse[m
|
|
|
+[32m+[m [32mreturn FloatAbsoluteDifference((x1 - x2) / x1, 1e-7f) < 1e-5f;[m
|
|
|
+[32m+[m[32m}[m
|
|
|
+ [m
|
|
|
+ #endif // Header include guard[m
|
|
|
+ [m
|
|
|
+[1mdiff --git a/test/source/EAStdCTest.cpp b/test/source/EAStdCTest.cpp[m
|
|
|
+[1mindex f902be1..27ad6ba 100644[m
|
|
|
+[1m--- a/test/source/EAStdCTest.cpp[m
|
|
|
+[1m+++ b/test/source/EAStdCTest.cpp[m
|
|
|
+[36m@@ -158,7 +158,6 @@[m [mvoid operator delete(void* p, char const*, int, unsigned, char const*, int)[m
|
|
|
+ size_t sceLibcHeapSize = 128*1024*1024;[m
|
|
|
+ #endif[m
|
|
|
+ [m
|
|
|
+[31m-[m
|
|
|
+ ///////////////////////////////////////////////////////////////////////////////[m
|
|
|
+ // EAMain[m
|
|
|
+ //[m
|
|
|
+[1mdiff --git a/test/source/TestDateTime.cpp b/test/source/TestDateTime.cpp[m
|
|
|
+[1mindex db4096a..8a084ff 100644[m
|
|
|
+[1m--- a/test/source/TestDateTime.cpp[m
|
|
|
+[1m+++ b/test/source/TestDateTime.cpp[m
|
|
|
+[36m@@ -16,16 +16,14 @@[m
|
|
|
+ [m
|
|
|
+ [m
|
|
|
+ #if defined(EA_PLATFORM_MICROSOFT)[m
|
|
|
+[31m- #ifdef _MSC_VER[m
|
|
|
+[31m- #pragma warning(push, 0)[m
|
|
|
+[31m- #if !(defined(EA_PLATFORM_WINDOWS) && !EA_WINAPI_FAMILY_PARTITION(EA_WINAPI_PARTITION_DESKTOP))[m
|
|
|
+[31m- #include <winsock2.h> // for timeval[m
|
|
|
+[31m- #endif[m
|
|
|
+[31m- #include <Windows.h>[m
|
|
|
+[31m- #pragma warning(pop)[m
|
|
|
+[32m+[m [32mEA_DISABLE_ALL_VC_WARNINGS()[m
|
|
|
+[32m+[m [32m#if defined(EA_PLATFORM_XBOXONE) || defined(CS_UNDEFINED_STRING)[m
|
|
|
+[32m+[m [32m#include <winsock2.h> // for timeval[m
|
|
|
+ #else[m
|
|
|
+[31m- #include <Windows.h>[m
|
|
|
+[32m+[m [32m#include <winsock.h> // for timeval[m
|
|
|
+ #endif[m
|
|
|
+[32m+[m [32m#include <Windows.h>[m
|
|
|
+[32m+[m [32mEA_RESTORE_ALL_VC_WARNINGS()[m
|
|
|
+ [m
|
|
|
+ bool GetLocaleInfoHelper(LCTYPE lcType, char* lcData, int cchData)[m
|
|
|
+ {[m
|
|
|
+[1mdiff --git a/test/source/TestInt128.cpp b/test/source/TestInt128.cpp[m
|
|
|
+[1mindex 066ad90..e5aece4 100644[m
|
|
|
+[1m--- a/test/source/TestInt128.cpp[m
|
|
|
+[1m+++ b/test/source/TestInt128.cpp[m
|
|
|
+[36m@@ -22,21 +22,6 @@[m
|
|
|
+ #pragma warning(pop)[m
|
|
|
+ #endif[m
|
|
|
+ [m
|
|
|
+[31m-static inline double FloatAbsoluteDifference(float x1, float x2)[m
|
|
|
+[31m-{[m
|
|
|
+[31m- return (x1 < x2) ? (x2 - x1) : (x1 - x2);[m
|
|
|
+[31m-}[m
|
|
|
+[31m-[m
|
|
|
+[31m-static inline bool FloatEqual(float x1, float x2)[m
|
|
|
+[31m-{[m
|
|
|
+[31m- if(x1 < 1e-7f)[m
|
|
|
+[31m- return (x2 < 1e-7f);[m
|
|
|
+[31m- else if(x2 < 1e-7f)[m
|
|
|
+[31m- return (x1 < 1e-7f);[m
|
|
|
+[31m- else[m
|
|
|
+[31m- return FloatAbsoluteDifference((x1 - x2) / x1, 1e-7f) < 1e-5f;[m
|
|
|
+[31m-}[m
|
|
|
+[31m-[m
|
|
|
+ static bool CompareSelfTestResult(const char* p1, const char* p2)[m
|
|
|
+ {[m
|
|
|
+ return strcmp(p1, p2) == 0;[m
|
|
|
+[1mdiff --git a/test/source/TestScanf.cpp b/test/source/TestScanf.cpp[m
|
|
|
+[1mindex 652742a..311461b 100644[m
|
|
|
+[1m--- a/test/source/TestScanf.cpp[m
|
|
|
+[1m+++ b/test/source/TestScanf.cpp[m
|
|
|
+[36m@@ -122,40 +122,6 @@[m [mstatic int TestCRTVsscanf(const char32_t* pBuffer, const char32_t* pFormat, ...)[m
|
|
|
+ return n;[m
|
|
|
+ }[m
|
|
|
+ [m
|
|
|
+[31m-[m
|
|
|
+[31m-[m
|
|
|
+[31m-static inline double DoubleAbsoluteDifference(double x1, double x2)[m
|
|
|
+[31m-{[m
|
|
|
+[31m- return (x1 < x2) ? (x2 - x1) : (x1 - x2);[m
|
|
|
+[31m-}[m
|
|
|
+[31m-[m
|
|
|
+[31m-static inline bool DoubleEqual(double x1, double x2)[m
|
|
|
+[31m-{[m
|
|
|
+[31m- if(x1 < 1e-15)[m
|
|
|
+[31m- return (x2 < 1e-15);[m
|
|
|
+[31m- else if(x2 < 1e-15)[m
|
|
|
+[31m- return (x1 < 1e-15);[m
|
|
|
+[31m- else[m
|
|
|
+[31m- return DoubleAbsoluteDifference((x1 - x2) / x1, 1e-15) < 1e-13;[m
|
|
|
+[31m-}[m
|
|
|
+[31m-[m
|
|
|
+[31m-static inline double FloatAbsoluteDifference(float x1, float x2)[m
|
|
|
+[31m-{[m
|
|
|
+[31m- return (x1 < x2) ? (x2 - x1) : (x1 - x2);[m
|
|
|
+[31m-}[m
|
|
|
+[31m-[m
|
|
|
+[31m-static inline bool FloatEqual(float x1, float x2)[m
|
|
|
+[31m-{[m
|
|
|
+[31m- if(x1 < 1e-7f)[m
|
|
|
+[31m- return (x2 < 1e-7f);[m
|
|
|
+[31m- else if(x2 < 1e-7f)[m
|
|
|
+[31m- return (x1 < 1e-7f);[m
|
|
|
+[31m- else[m
|
|
|
+[31m- return FloatAbsoluteDifference((x1 - x2) / x1, 1e-7f) < 1e-5f;[m
|
|
|
+[31m-}[m
|
|
|
+[31m-[m
|
|
|
+[31m-[m
|
|
|
+[31m-[m
|
|
|
+ ///////////////////////////////////////////////////////////////////////////////[m
|
|
|
+ // TestScanfLimits[m
|
|
|
+ //[m
|
|
|
+[1mdiff --git a/test/source/TestString.cpp b/test/source/TestString.cpp[m
|
|
|
+[1mindex 2f4fcde..4f26a2f 100644[m
|
|
|
+[1m--- a/test/source/TestString.cpp[m
|
|
|
+[1m+++ b/test/source/TestString.cpp[m
|
|
|
+[36m@@ -25,7 +25,7 @@[m
|
|
|
+ #endif[m
|
|
|
+ [m
|
|
|
+ [m
|
|
|
+[31m-static inline bool DoubleEqual(double x1, double x2)[m
|
|
|
+[32m+[m[32mstatic inline bool TestString_DoubleEqual(double x1, double x2)[m
|
|
|
+ {[m
|
|
|
+ double difference = fabs(x1 - x2);[m
|
|
|
+ double relative = fabs(difference / x1);[m
|
|
|
+[36m@@ -34,7 +34,7 @@[m [mstatic inline bool DoubleEqual(double x1, double x2)[m
|
|
|
+ return true;[m
|
|
|
+ else[m
|
|
|
+ {[m
|
|
|
+[31m- EA::UnitTest::Report("DoubleEqual Error: %f, %f\n", x1, x2);[m
|
|
|
+[32m+[m [32mEA::UnitTest::Report("TestString_DoubleEqual Error: %f, %f\n", x1, x2);[m
|
|
|
+ return false;[m
|
|
|
+ }[m
|
|
|
+ }[m
|
|
|
+[36m@@ -2304,49 +2304,49 @@[m [mstatic int TestStrtod()[m
|
|
|
+ //EATEST_VERIFY(0 == StrtodEnglish(p, &pEnd));[m
|
|
|
+ [m
|
|
|
+ p = "-111.111";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-111.111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-111.111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = "111e111";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(111e111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(111e111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = "-111e-111";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-111e-111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-111e-111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = "137";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(137, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(137, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = "999999";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(999999, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(999999, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = "123.456";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(123.456, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(123.456, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = "123232111.000123";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(123232111.000123, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(123232111.000123, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = "-888111.000123";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-888111.000123, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-888111.000123, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = "-123.456";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-123.456, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-123.456, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = "+999999";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(+999999, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(+999999, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = "+999999e2";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(+999999e2, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(+999999e2, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = "-234.567E-3";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-234.567E-3, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-234.567E-3, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = "321654.987e11";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(321654.987e11, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(321654.987e11, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = "-321654.987E0";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-321654.987E0, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-321654.987E0, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = "+321654.987e-0";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(+321654.987e-0, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(+321654.987e-0, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ }[m
|
|
|
+ {[m
|
|
|
+ const char16_t* p;[m
|
|
|
+[36m@@ -2360,49 +2360,49 @@[m [mstatic int TestStrtod()[m
|
|
|
+ //EATEST_VERIFY(0 == StrtodEnglish(p, &pEnd));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("-111.111");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-111.111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-111.111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("111e111");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(111e111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(111e111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("-111e-111");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-111e-111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-111e-111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("137");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(137, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(137, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("999999");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(999999, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(999999, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("123.456");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(123.456, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(123.456, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("123232111.000123");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(123232111.000123, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(123232111.000123, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("-888111.000123");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-888111.000123, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-888111.000123, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("-123.456");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-123.456, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-123.456, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("+999999");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(+999999, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(+999999, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("+999999e2");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(+999999e2, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(+999999e2, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("-234.567E-3");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-234.567E-3, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-234.567E-3, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("321654.987e11");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(321654.987e11, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(321654.987e11, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("-321654.987E0");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-321654.987E0, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-321654.987E0, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR16("+321654.987e-0");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(+321654.987e-0, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(+321654.987e-0, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ }[m
|
|
|
+ {[m
|
|
|
+ const char32_t* p;[m
|
|
|
+[36m@@ -2416,49 +2416,49 @@[m [mstatic int TestStrtod()[m
|
|
|
+ //EATEST_VERIFY(0 == StrtodEnglish(p, &pEnd));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("-111.111");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-111.111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-111.111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("111e111");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(111e111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(111e111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("-111e-111");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-111e-111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-111e-111, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("137");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(137, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(137, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("999999");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(999999, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(999999, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("123.456");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(123.456, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(123.456, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("123232111.000123");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(123232111.000123, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(123232111.000123, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("-888111.000123");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-888111.000123, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-888111.000123, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("-123.456");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-123.456, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-123.456, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("+999999");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(+999999, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(+999999, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("+999999e2");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(+999999e2, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(+999999e2, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("-234.567E-3");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-234.567E-3, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-234.567E-3, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("323254.987e11");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(323254.987e11, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(323254.987e11, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("-323254.987E0");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-323254.987E0, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-323254.987E0, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ p = EA_CHAR32("+323254.987e-0");[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(+323254.987e-0, StrtodEnglish(p, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(+323254.987e-0, StrtodEnglish(p, &pEnd)));[m
|
|
|
+ }[m
|
|
|
+ [m
|
|
|
+ [m
|
|
|
+[36m@@ -2468,35 +2468,35 @@[m [mstatic int TestStrtod()[m
|
|
|
+ {[m
|
|
|
+ char sn18[] = "-111.111";[m
|
|
|
+ char* pEnd = NULL;[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-111.111, Strtod(sn18, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-111.111, Strtod(sn18, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ char sn28[] = "111e111";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(111e111, Strtod(sn28, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(111e111, Strtod(sn28, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ char sn38[] = "-111e-111";[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-111e-111, Strtod(sn38, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-111e-111, Strtod(sn38, &pEnd)));[m
|
|
|
+ }[m
|
|
|
+ {[m
|
|
|
+ char16_t sn18[16]; Strlcpy(sn18, EA_CHAR16("-111.111"), EAArrayCount(sn18)); // Can't do char16_t variable[64] = EA_CHAR16(...) because some compilers don't support 16 bit string literals.[m
|
|
|
+ char16_t* pEnd = NULL;[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-111.111, Strtod(sn18, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-111.111, Strtod(sn18, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ char16_t sn28[16]; Strlcpy(sn28, EA_CHAR16("111e111"), EAArrayCount(sn28)); // Can't do char16_t variable[64] = EA_CHAR16(...) because some compilers don't support 16 bit string literals.[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(111e111, Strtod(sn28, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(111e111, Strtod(sn28, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ char16_t sn38[16]; Strlcpy(sn38, EA_CHAR16("-111e-111"), EAArrayCount(sn38)); // Can't do char16_t variable[64] = EA_CHAR16(...) because some compilers don't support 16 bit string literals.[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-111e-111, Strtod(sn38, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-111e-111, Strtod(sn38, &pEnd)));[m
|
|
|
+ }[m
|
|
|
+ {[m
|
|
|
+ char32_t sn18[32]; Strlcpy(sn18, EA_CHAR32("-111.111"), EAArrayCount(sn18)); // Can't do char32_t variable[64] = EA_CHAR32(...) because some compilers don't support 32 bit string literals.[m
|
|
|
+ char32_t* pEnd = NULL;[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-111.111, Strtod(sn18, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-111.111, Strtod(sn18, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ char32_t sn28[32]; Strlcpy(sn28, EA_CHAR32("111e111"), EAArrayCount(sn28)); // Can't do char32_t variable[64] = EA_CHAR32(...) because some compilers don't support 32 bit string literals.[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(111e111, Strtod(sn28, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(111e111, Strtod(sn28, &pEnd)));[m
|
|
|
+ [m
|
|
|
+ char32_t sn38[32]; Strlcpy(sn38, EA_CHAR32("-111e-111"), EAArrayCount(sn38)); // Can't do char32_t variable[64] = EA_CHAR32(...) because some compilers don't support 32 bit string literals.[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(-111e-111, Strtod(sn38, &pEnd)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(-111e-111, Strtod(sn38, &pEnd)));[m
|
|
|
+ }[m
|
|
|
+ [m
|
|
|
+ return nErrorCount;[m
|
|
|
+[36m@@ -3120,28 +3120,28 @@[m [mstatic int TestAtof()[m
|
|
|
+ [m
|
|
|
+ {[m
|
|
|
+ double d = Atof(kStrMax);[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(d, kValMax));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(d, kValMax));[m
|
|
|
+ [m
|
|
|
+ d = Atof(kStrMin);[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(d, kValMin));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(d, kValMin));[m
|
|
|
+ }[m
|
|
|
+ {[m
|
|
|
+ char16_t sn18[32]; Strlcpy(sn18, kStrMax, EAArrayCount(sn18)); // Can't do char16_t variable[64] = EA_CHAR16(...) because some compilers don't support 16 bit string literals.[m
|
|
|
+ double d = Atof(sn18);[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(d, kValMax));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(d, kValMax));[m
|
|
|
+ [m
|
|
|
+ char16_t sn28[32]; Strlcpy(sn28, kStrMin, EAArrayCount(sn28));[m
|
|
|
+ d = Atof(sn28);[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(d, kValMin));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(d, kValMin));[m
|
|
|
+ }[m
|
|
|
+ {[m
|
|
|
+ char32_t sn18[32]; Strlcpy(sn18, kStrMax, EAArrayCount(sn18));[m
|
|
|
+ double d = Atof(sn18);[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(d, kValMax));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(d, kValMax));[m
|
|
|
+ [m
|
|
|
+ char32_t sn28[32]; Strlcpy(sn28, kStrMin, EAArrayCount(sn28));[m
|
|
|
+ d = Atof(sn28);[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(d, kValMin));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(d, kValMin));[m
|
|
|
+ }[m
|
|
|
+ }[m
|
|
|
+ [m
|
|
|
+[36m@@ -3159,23 +3159,23 @@[m [mstatic int TestAtof()[m
|
|
|
+ const double kValMax = 1.7976931348622e+307;[m
|
|
|
+ [m
|
|
|
+ {[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(kValMin, AtofEnglish(kStrMin)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(kValMin, AtofEnglish(kStrMin)));[m
|
|
|
+ [m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(kValMax, AtofEnglish(kStrMax)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(kValMax, AtofEnglish(kStrMax)));[m
|
|
|
+ }[m
|
|
|
+ {[m
|
|
|
+ char16_t sn18[32]; Strlcpy(sn18, kStrMin, EAArrayCount(sn18)); // Can't do char16_t variable[64] = EA_CHAR16(...) because some compilers don't support 16 bit string literals.[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(kValMin, AtofEnglish(sn18)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(kValMin, AtofEnglish(sn18)));[m
|
|
|
+ [m
|
|
|
+ char16_t sn28[32]; Strlcpy(sn28, kStrMax, EAArrayCount(sn28));[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(kValMax, AtofEnglish(sn28)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(kValMax, AtofEnglish(sn28)));[m
|
|
|
+ }[m
|
|
|
+ {[m
|
|
|
+ char32_t sn18[32]; Strlcpy(sn18, kStrMin, EAArrayCount(sn18));[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(kValMin, AtofEnglish(sn18)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(kValMin, AtofEnglish(sn18)));[m
|
|
|
+ [m
|
|
|
+ char32_t sn28[32]; Strlcpy(sn28, kStrMax, EAArrayCount(sn28));[m
|
|
|
+[31m- EATEST_VERIFY(DoubleEqual(kValMax, AtofEnglish(sn28)));[m
|
|
|
+[32m+[m [32mEATEST_VERIFY(TestString_DoubleEqual(kValMax, AtofEnglish(sn28)));[m
|
|
|
+ }[m
|
|
|
+ }[m
|
|
|
+ [m
|