Skip to content

Commit

Permalink
7. testing floating-point changes for macos pre and post arm64
Browse files Browse the repository at this point in the history
  • Loading branch information
panchaBhuta committed Sep 24, 2024
1 parent cb2ce07 commit 2a2ea26
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 6 deletions.
12 changes: 7 additions & 5 deletions tests/testFloatingPointPrecision.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -140,10 +140,10 @@ int main()
"3.3123412e+38", 3.3123412E38f, "3.3123412e+38");

std::string expected_float_3d3123412en38[] = { "3.312341e-38",
#if MACH_MACOS_ARRAY_IDX == MACH_PRE_MACOS14_CLANG
#if MACH_MACOS_ARRAY_IDX == MACH_POST_MACOS14_ARM_CLANG
"3.31234111e-38", // macOS
//#elif MACH_MACOS_ARRAY_IDX == MACH_POST_MACOS14_ARM_CLANG
//#elif MACH_MACOS_ARRAY_IDX == MACH_POST_MACOS14_ARM_GNU
//#elif MACH_MACOS_ARRAY_IDX == MACH_PRE_MACOS14_CLANG
#else // default MACH_MACOS_ARRAY_IDX == MACH_PRE_MACOS14_GNU
"3.312341e-38",
#endif
Expand All @@ -167,13 +167,15 @@ int main()
std::string expected_longdouble_5d3123412en38[] = { "5.3123412e-38",
#if MACH_MACOS_ARRAY_IDX == MACH_POST_MACOS14_ARM_CLANG
"5.31234120000000035e-38",
#else
"5.3123412000000000001e-38", // macOS
//#elif MACH_MACOS_ARRAY_IDX == MACH_POST_MACOS14_ARM_CLANG
//#elif MACH_MACOS_ARRAY_IDX == MACH_POST_MACOS14_ARM_GNU
#else // default MACH_MACOS_ARRAY_IDX == MACH_PRE_MACOS14_GNU
"5.3123412e-38", // macOS
#endif
"5.3123412e-38", };
checkRoundTripConversion_txt2Val2txt<long double>("testFloatingPointPrecision-13",
"5.3123412e-38", 5.3123412E-38L, expected_longdouble_5d3123412en38[indexOS],
((indexOS==1)?8:std::numeric_limits<long double>::digits10) ); // macOS
((indexOS==1)?7:std::numeric_limits<long double>::digits10) ); // macOS

} catch (const std::exception& ex) {
std::cout << "Test Failed : err-msg : " << ex.what() << std::endl;
Expand Down
6 changes: 6 additions & 0 deletions tests/testUserDefinedConverter_locale.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,13 @@ int main()
expected_double_9007199254740993[indexOS], std::numeric_limits<double>::digits10, ',', '.');

std::string expected_longDouble_9007199254740993[] = { "9.007.199.254.740.993", // Ubuntu
#if MACH_MACOS_ARRAY_IDX == MACH_POST_MACOS14_ARM_CLANG
"9007199254740992", // MacOS
//#elif MACH_MACOS_ARRAY_IDX == MACH_POST_MACOS14_ARM_GNU
//#elif MACH_MACOS_ARRAY_IDX == MACH_PRE_MACOS14_CLANG
#else // default MACH_MACOS_ARRAY_IDX == MACH_PRE_MACOS14_GNU
"9007199254740993", // MacOS
#endif
"9.007.199.254.740.992", };// Windows
checkRoundTripConversion_txt2Val2txt<long double, ConvertFromStr_loc<long double>, ConvertFromVal_loc<long double>>("testUserDefinedConverter_locale-8",
"9007199254740993", 9007199254740993.0L,
Expand Down
2 changes: 1 addition & 1 deletion tests/utilities.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ void checkRoundTripConversion_txt2Val2txt( const std::string& testID,
std::string::size_type decSep_actual = _strRoundtripActual.find(decimalSeperator);
if(decSep_input != std::string::npos && decSep_actual != std::string::npos)
{
std::cout << "fraction check" << std::endl;
std::cout << "################ fraction check ############" << std::endl;
// both input and round-trip-string have decimal seperator
// for e.g.: '3.3123412e+38'
if(decSep_input == decSep_actual)
Expand Down

0 comments on commit 2a2ea26

Please sign in to comment.