Skip to content

Commit

Permalink
[C++] Rely on NAN from limits rather than pulling in cmath. Issue #956.
Browse files Browse the repository at this point in the history
  • Loading branch information
mjpt777 committed Sep 29, 2023
1 parent 3f6b629 commit 0a05d9a
Showing 1 changed file with 4 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1051,18 +1051,6 @@ private static CharSequence generateFileHeader(
"#ifndef _%1$s_%2$s_CXX_H_\n" +
"#define _%1$s_%2$s_CXX_H_\n\n" +

"#if defined(SBE_HAVE_CMATH)\n" +
"/* cmath needed for std::numeric_limits<double>::quiet_NaN() */\n" +
"# include <cmath>\n" +
"# define SBE_FLOAT_NAN std::numeric_limits<float>::quiet_NaN()\n" +
"# define SBE_DOUBLE_NAN std::numeric_limits<double>::quiet_NaN()\n" +
"#else\n" +
"/* math.h needed for NAN */\n" +
"# include <math.h>\n" +
"# define SBE_FLOAT_NAN NAN\n" +
"# define SBE_DOUBLE_NAN NAN\n" +
"#endif\n\n" +

"#if __cplusplus >= 201103L\n" +
"# define SBE_CONSTEXPR constexpr\n" +
"# define SBE_NOEXCEPT noexcept\n" +
Expand All @@ -1083,9 +1071,9 @@ private static CharSequence generateFileHeader(
"#endif\n\n" +

"#include <cstdint>\n" +
"#include <limits>\n" +
"#include <cstring>\n" +
"#include <iomanip>\n" +
"#include <limits>\n" +
"#include <ostream>\n" +
"#include <stdexcept>\n" +
"#include <sstream>\n" +
Expand Down Expand Up @@ -1130,6 +1118,8 @@ private static CharSequence generateFileHeader(
"# endif\n\n" +
"#endif\n\n" +

"#define SBE_FLOAT_NAN std::numeric_limits<float>::quiet_NaN()\n" +
"#define SBE_DOUBLE_NAN std::numeric_limits<double>::quiet_NaN()\n" +
"#define SBE_NULLVALUE_INT8 (std::numeric_limits<std::int8_t>::min)()\n" +
"#define SBE_NULLVALUE_INT16 (std::numeric_limits<std::int16_t>::min)()\n" +
"#define SBE_NULLVALUE_INT32 (std::numeric_limits<std::int32_t>::min)()\n" +
Expand All @@ -1141,7 +1131,7 @@ private static CharSequence generateFileHeader(
String.join("_", namespaces).toUpperCase(),
className.toUpperCase()));

if (typesToInclude != null && typesToInclude.size() != 0)
if (typesToInclude != null && !typesToInclude.isEmpty())
{
sb.append("\n");
for (final String incName : typesToInclude)
Expand Down

0 comments on commit 0a05d9a

Please sign in to comment.