Skip to content

Commit

Permalink
Transit doubles through Option with 15 places of precision.
Browse files Browse the repository at this point in the history
  • Loading branch information
abellgithub committed Apr 9, 2021
1 parent a00819d commit 3e64dc1
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 5 deletions.
12 changes: 7 additions & 5 deletions pdal/Options.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,17 @@ class PDAL_DLL Option
template <typename T>
Option(std::string const& name, const T& value) : m_name(name)
{
std::ostringstream oss;
oss << value;
m_value = oss.str();
m_value = Utils::toString(value);
}

Option(std::string const& name, const std::string& value) :
m_name(name), m_value(value)
Option(std::string const& name, const std::string& value) : m_name(name), m_value(value)
{}

Option(std::string const& name, const double& value) : m_name(name)
{
m_value = Utils::toString(value, 15);
}

Option(std::string const& name, const bool& value) :
m_name(name)
{
Expand Down
16 changes: 16 additions & 0 deletions test/unit/OptionsTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -163,4 +163,20 @@ TEST(OptionsTest, nan)
EXPECT_NO_THROW(args.parse(cmdline));
}

TEST(OptionsTest, doublepreicison)
{
ProgramArgs args;
double testVal = 1.23456789012345;
double value;

args.add("test", "Test", value);

Options ops;
ops.add("test", testVal);

StringList cmdline = ops.toCommandLine();
args.parse(ops.toCommandLine());
EXPECT_EQ(value, testVal);
}

} // namespace pdal

0 comments on commit 3e64dc1

Please sign in to comment.