reduce cyclomatic complexity in double->string bearing conversion

This commit is contained in:
Dennis Luxen
2015-01-23 11:44:35 +01:00
parent d6e76fd1c0
commit 62f2a42f28
3 changed files with 53 additions and 51 deletions
+21 -21
View File
@@ -1,6 +1,6 @@
/*
Copyright (c) 2013, Project OSRM, Dennis Luxen, others
Copyright (c) 2015, Project OSRM, Dennis Luxen, others
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
@@ -27,37 +27,37 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "bearing.hpp"
std::string Bearing::Get(const double heading)
std::string bearing::get(const double heading)
{
if (heading <= 22.5)
{
return "N";
}
if (heading <= 67.5)
{
return "NE";
}
if (heading <= 112.5)
{
return "E";
}
if (heading <= 157.5)
{
return "SE";
}
if (heading <= 202.5)
{
if (heading >= 0. && heading <= 22.5)
{
return "N";
}
if (heading > 22.5 && heading <= 67.5)
{
return "NE";
}
if (heading > 67.5 && heading <= 112.5)
{
return "E";
}
if (heading > 112.5 && heading <= 157.5)
{
return "SE";
}
return "S";
}
if (heading > 202.5 && heading <= 247.5)
if (heading <= 247.5)
{
return "SW";
}
if (heading > 247.5 && heading <= 292.5)
if (heading <= 292.5)
{
return "W";
}
if (heading > 292.5 && heading <= 337.5)
if (heading <= 337.5)
{
return "NW";
}
+6 -6
View File
@@ -1,6 +1,6 @@
/*
Copyright (c) 2013, Project OSRM, Dennis Luxen, others
Copyright (c) 2015, Project OSRM, Dennis Luxen, others
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
@@ -25,14 +25,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef BEARING_HPP_
#define BEARING_HPP_
#ifndef BEARING_HPP
#define BEARING_HPP
#include <string>
struct Bearing
struct bearing
{
static std::string Get(const double heading);
static std::string get(const double heading);
};
#endif // BEARING_HPP_
#endif // BEARING_HPP