Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "cartographer/common/math.h"
00018
00019 #include "gtest/gtest.h"
00020
00021 namespace cartographer {
00022 namespace common {
00023 namespace {
00024
00025 TEST(MathTest, testPower) {
00026 EXPECT_EQ(0., Power(0, 42));
00027 EXPECT_EQ(1., Power(0, 0));
00028 EXPECT_EQ(1., Power(1, 0));
00029 EXPECT_EQ(1., Power(1, 42));
00030 EXPECT_EQ(4., Power(2, 2));
00031 }
00032
00033 TEST(MathTest, testPow2) {
00034 EXPECT_EQ(0., Pow2(0));
00035 EXPECT_EQ(1., Pow2(1));
00036 EXPECT_EQ(4., Pow2(2));
00037 EXPECT_EQ(49., Pow2(7));
00038 }
00039
00040 TEST(MathTest, testDeg2rad) {
00041 EXPECT_NEAR(M_PI, DegToRad(180.), 1e-9);
00042 EXPECT_NEAR(2. * M_PI, DegToRad(360. - 1e-9), 1e-6);
00043 }
00044
00045 TEST(MathTest, testRad2deg) {
00046 EXPECT_NEAR(180., RadToDeg(M_PI), 1e-9);
00047 EXPECT_NEAR(360., RadToDeg(2. * M_PI - 1e-9), 1e-6);
00048 }
00049
00050 TEST(MathTest, testNormalizeAngleDifference) {
00051 EXPECT_NEAR(0., NormalizeAngleDifference(0.), 1e-9);
00052 EXPECT_NEAR(M_PI, NormalizeAngleDifference(M_PI), 1e-9);
00053 EXPECT_NEAR(-M_PI, NormalizeAngleDifference(-M_PI), 1e-9);
00054 EXPECT_NEAR(0., NormalizeAngleDifference(2. * M_PI), 1e-9);
00055 EXPECT_NEAR(M_PI, NormalizeAngleDifference(5. * M_PI), 1e-9);
00056 EXPECT_NEAR(-M_PI, NormalizeAngleDifference(-5. * M_PI), 1e-9);
00057 }
00058
00059 }
00060 }
00061 }