Skip to content

Commit

Permalink
Minor Changes
Browse files Browse the repository at this point in the history
  • Loading branch information
Nathan24zz committed Apr 19, 2021
1 parent 8056765 commit 84829de
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 5 deletions.
23 changes: 20 additions & 3 deletions src/angle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

#include <keisan/angle.hpp>
#include <keisan/number.hpp>
#include <iostream>

namespace keisan
{
Expand All @@ -47,12 +46,30 @@ double deg_to_rad(double value)

double delta_deg(double value1, double value2)
{
return std::abs(wrap_deg(value1 - value2));
double result;
double temp = value1 - value2;

if (abs(temp) > 180) {
result = -1 * temp;
} else {
result = temp;
}

return wrap_deg(result);
}

double delta_rad(double value1, double value2)
{
return std::abs(wrap_rad(value1 - value2));
double result;
double temp = value1 - value2;

if (abs(temp) > keisan::pi) {
result = -1 * temp;
} else {
result = temp;
}

return wrap_rad(result);
}

} // namespace keisan
20 changes: 18 additions & 2 deletions test/angle_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,22 +62,38 @@ TEST(DegToRadTest, ConversionTest) {
}

TEST(DeltaDegTest, OverflowTest) {
ASSERT_DOUBLE_EQ(
keisan::delta_deg(30.0, -40.0),
70.0);

ASSERT_DOUBLE_EQ(
keisan::delta_deg(-30.0, 40.0),
-70.0);

ASSERT_DOUBLE_EQ(
keisan::delta_deg(100.0, -150.0),
110.0);

ASSERT_DOUBLE_EQ(
keisan::delta_deg(-100.0, 150.0),
110.0);
-110.0);
}

TEST(DeltaRadTest, OverflowTest)
{
ASSERT_DOUBLE_EQ(
keisan::delta_rad(keisan::pi * 0.1, keisan::pi * -0.3),
keisan::pi * 0.4);

ASSERT_DOUBLE_EQ(
keisan::delta_rad(keisan::pi * -0.1, keisan::pi * 0.3),
keisan::pi * -0.4);

ASSERT_DOUBLE_EQ(
keisan::delta_rad(keisan::pi * 0.6, keisan::pi * -0.7),
keisan::pi * 0.7);

ASSERT_DOUBLE_EQ(
keisan::delta_rad(keisan::pi * -0.6, keisan::pi * 0.7),
keisan::pi * 0.7);
keisan::pi * -0.7);
}

0 comments on commit 84829de

Please sign in to comment.