mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-24 01:31:46 +00:00
[wpimath] Rename 1D copySignPow to match 2D copyDirectionPow (#8286)
This commit is contained in:
@@ -127,41 +127,41 @@ class MathUtilTest extends UtilityClassTest<MathUtil> {
|
||||
}
|
||||
|
||||
@Test
|
||||
void testCopySignPow() {
|
||||
assertEquals(0.5, MathUtil.copySignPow(0.5, 1.0));
|
||||
assertEquals(-0.5, MathUtil.copySignPow(-0.5, 1.0));
|
||||
void testCopyDirectionPow() {
|
||||
assertEquals(0.5, MathUtil.copyDirectionPow(0.5, 1.0));
|
||||
assertEquals(-0.5, MathUtil.copyDirectionPow(-0.5, 1.0));
|
||||
|
||||
assertEquals(0.5 * 0.5, MathUtil.copySignPow(0.5, 2.0));
|
||||
assertEquals(-(0.5 * 0.5), MathUtil.copySignPow(-0.5, 2.0));
|
||||
assertEquals(0.5 * 0.5, MathUtil.copyDirectionPow(0.5, 2.0));
|
||||
assertEquals(-(0.5 * 0.5), MathUtil.copyDirectionPow(-0.5, 2.0));
|
||||
|
||||
assertEquals(Math.sqrt(0.5), MathUtil.copySignPow(0.5, 0.5));
|
||||
assertEquals(-Math.sqrt(0.5), MathUtil.copySignPow(-0.5, 0.5));
|
||||
assertEquals(Math.sqrt(0.5), MathUtil.copyDirectionPow(0.5, 0.5));
|
||||
assertEquals(-Math.sqrt(0.5), MathUtil.copyDirectionPow(-0.5, 0.5));
|
||||
|
||||
assertEquals(0.0, MathUtil.copySignPow(0.0, 2.0));
|
||||
assertEquals(1.0, MathUtil.copySignPow(1.0, 2.0));
|
||||
assertEquals(-1.0, MathUtil.copySignPow(-1.0, 2.0));
|
||||
assertEquals(0.0, MathUtil.copyDirectionPow(0.0, 2.0));
|
||||
assertEquals(1.0, MathUtil.copyDirectionPow(1.0, 2.0));
|
||||
assertEquals(-1.0, MathUtil.copyDirectionPow(-1.0, 2.0));
|
||||
|
||||
assertEquals(Math.pow(0.8, 0.3), MathUtil.copySignPow(0.8, 0.3));
|
||||
assertEquals(-Math.pow(0.8, 0.3), MathUtil.copySignPow(-0.8, 0.3));
|
||||
assertEquals(Math.pow(0.8, 0.3), MathUtil.copyDirectionPow(0.8, 0.3));
|
||||
assertEquals(-Math.pow(0.8, 0.3), MathUtil.copyDirectionPow(-0.8, 0.3));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testCopySignPowMaxMagnitude() {
|
||||
assertEquals(5, MathUtil.copySignPow(5.0, 1.0, 10.0));
|
||||
assertEquals(-5, MathUtil.copySignPow(-5.0, 1.0, 10.0));
|
||||
void testCopyDirectionPowMaxMagnitude() {
|
||||
assertEquals(5, MathUtil.copyDirectionPow(5.0, 1.0, 10.0));
|
||||
assertEquals(-5, MathUtil.copyDirectionPow(-5.0, 1.0, 10.0));
|
||||
|
||||
assertEquals(0.5 * 0.5 * 10, MathUtil.copySignPow(5.0, 2.0, 10.0));
|
||||
assertEquals(-0.5 * 0.5 * 10, MathUtil.copySignPow(-5.0, 2.0, 10.0));
|
||||
assertEquals(0.5 * 0.5 * 10, MathUtil.copyDirectionPow(5.0, 2.0, 10.0));
|
||||
assertEquals(-0.5 * 0.5 * 10, MathUtil.copyDirectionPow(-5.0, 2.0, 10.0));
|
||||
|
||||
assertEquals(Math.sqrt(0.5) * 10, MathUtil.copySignPow(5.0, 0.5, 10.0));
|
||||
assertEquals(-Math.sqrt(0.5) * 10, MathUtil.copySignPow(-5.0, 0.5, 10.0));
|
||||
assertEquals(Math.sqrt(0.5) * 10, MathUtil.copyDirectionPow(5.0, 0.5, 10.0));
|
||||
assertEquals(-Math.sqrt(0.5) * 10, MathUtil.copyDirectionPow(-5.0, 0.5, 10.0));
|
||||
|
||||
assertEquals(0.0, MathUtil.copySignPow(0.0, 2.0, 5.0));
|
||||
assertEquals(5.0, MathUtil.copySignPow(5.0, 2.0, 5.0));
|
||||
assertEquals(-5.0, MathUtil.copySignPow(-5.0, 2.0, 5.0));
|
||||
assertEquals(0.0, MathUtil.copyDirectionPow(0.0, 2.0, 5.0));
|
||||
assertEquals(5.0, MathUtil.copyDirectionPow(5.0, 2.0, 5.0));
|
||||
assertEquals(-5.0, MathUtil.copyDirectionPow(-5.0, 2.0, 5.0));
|
||||
|
||||
assertEquals(Math.pow(0.8, 0.3) * 100, MathUtil.copySignPow(80, 0.3, 100.0));
|
||||
assertEquals(-Math.pow(0.8, 0.3) * 100, MathUtil.copySignPow(-80, 0.3, 100.0));
|
||||
assertEquals(Math.pow(0.8, 0.3) * 100, MathUtil.copyDirectionPow(80, 0.3, 100.0));
|
||||
assertEquals(-Math.pow(0.8, 0.3) * 100, MathUtil.copyDirectionPow(-80, 0.3, 100.0));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -131,58 +131,59 @@ TEST(MathUtilTest, ApplyDeadband2dUnits) {
|
||||
0.02_mps, 2.5_mps));
|
||||
}
|
||||
|
||||
TEST(MathUtilTest, CopySignPow) {
|
||||
EXPECT_DOUBLE_EQ(0.5, frc::CopySignPow(0.5, 1.0));
|
||||
EXPECT_DOUBLE_EQ(-0.5, frc::CopySignPow(-0.5, 1.0));
|
||||
TEST(MathUtilTest, CopyDirectionPow) {
|
||||
EXPECT_DOUBLE_EQ(0.5, frc::CopyDirectionPow(0.5, 1.0));
|
||||
EXPECT_DOUBLE_EQ(-0.5, frc::CopyDirectionPow(-0.5, 1.0));
|
||||
|
||||
EXPECT_DOUBLE_EQ(0.5 * 0.5, frc::CopySignPow(0.5, 2.0));
|
||||
EXPECT_DOUBLE_EQ(-(0.5 * 0.5), frc::CopySignPow(-0.5, 2.0));
|
||||
EXPECT_DOUBLE_EQ(0.5 * 0.5, frc::CopyDirectionPow(0.5, 2.0));
|
||||
EXPECT_DOUBLE_EQ(-(0.5 * 0.5), frc::CopyDirectionPow(-0.5, 2.0));
|
||||
|
||||
EXPECT_DOUBLE_EQ(std::sqrt(0.5), frc::CopySignPow(0.5, 0.5));
|
||||
EXPECT_DOUBLE_EQ(-std::sqrt(0.5), frc::CopySignPow(-0.5, 0.5));
|
||||
EXPECT_DOUBLE_EQ(std::sqrt(0.5), frc::CopyDirectionPow(0.5, 0.5));
|
||||
EXPECT_DOUBLE_EQ(-std::sqrt(0.5), frc::CopyDirectionPow(-0.5, 0.5));
|
||||
|
||||
EXPECT_DOUBLE_EQ(0.0, frc::CopySignPow(0.0, 2.0));
|
||||
EXPECT_DOUBLE_EQ(1.0, frc::CopySignPow(1.0, 2.0));
|
||||
EXPECT_DOUBLE_EQ(-1.0, frc::CopySignPow(-1.0, 2.0));
|
||||
EXPECT_DOUBLE_EQ(0.0, frc::CopyDirectionPow(0.0, 2.0));
|
||||
EXPECT_DOUBLE_EQ(1.0, frc::CopyDirectionPow(1.0, 2.0));
|
||||
EXPECT_DOUBLE_EQ(-1.0, frc::CopyDirectionPow(-1.0, 2.0));
|
||||
|
||||
EXPECT_DOUBLE_EQ(std::pow(0.8, 0.3), frc::CopySignPow(0.8, 0.3));
|
||||
EXPECT_DOUBLE_EQ(-std::pow(0.8, 0.3), frc::CopySignPow(-0.8, 0.3));
|
||||
EXPECT_DOUBLE_EQ(std::pow(0.8, 0.3), frc::CopyDirectionPow(0.8, 0.3));
|
||||
EXPECT_DOUBLE_EQ(-std::pow(0.8, 0.3), frc::CopyDirectionPow(-0.8, 0.3));
|
||||
}
|
||||
|
||||
TEST(MathUtilTest, CopySignPowWithMaxMagnitude) {
|
||||
EXPECT_DOUBLE_EQ(5.0, frc::CopySignPow(5.0, 1.0, 10.0));
|
||||
EXPECT_DOUBLE_EQ(-5.0, frc::CopySignPow(-5.0, 1.0, 10.0));
|
||||
TEST(MathUtilTest, CopyDirectionPowWithMaxMagnitude) {
|
||||
EXPECT_DOUBLE_EQ(5.0, frc::CopyDirectionPow(5.0, 1.0, 10.0));
|
||||
EXPECT_DOUBLE_EQ(-5.0, frc::CopyDirectionPow(-5.0, 1.0, 10.0));
|
||||
|
||||
EXPECT_DOUBLE_EQ(0.5 * 0.5 * 10, frc::CopySignPow(5.0, 2.0, 10.0));
|
||||
EXPECT_DOUBLE_EQ(-0.5 * 0.5 * 10, frc::CopySignPow(-5.0, 2.0, 10.0));
|
||||
EXPECT_DOUBLE_EQ(0.5 * 0.5 * 10, frc::CopyDirectionPow(5.0, 2.0, 10.0));
|
||||
EXPECT_DOUBLE_EQ(-0.5 * 0.5 * 10, frc::CopyDirectionPow(-5.0, 2.0, 10.0));
|
||||
|
||||
EXPECT_DOUBLE_EQ(std::sqrt(0.5) * 10, frc::CopySignPow(5.0, 0.5, 10.0));
|
||||
EXPECT_DOUBLE_EQ(-std::sqrt(0.5) * 10, frc::CopySignPow(-5.0, 0.5, 10.0));
|
||||
EXPECT_DOUBLE_EQ(std::sqrt(0.5) * 10, frc::CopyDirectionPow(5.0, 0.5, 10.0));
|
||||
EXPECT_DOUBLE_EQ(-std::sqrt(0.5) * 10,
|
||||
frc::CopyDirectionPow(-5.0, 0.5, 10.0));
|
||||
|
||||
EXPECT_DOUBLE_EQ(0.0, frc::CopySignPow(0.0, 2.0, 5.0));
|
||||
EXPECT_DOUBLE_EQ(5.0, frc::CopySignPow(5.0, 2.0, 5.0));
|
||||
EXPECT_DOUBLE_EQ(-5.0, frc::CopySignPow(-5.0, 2.0, 5.0));
|
||||
EXPECT_DOUBLE_EQ(0.0, frc::CopyDirectionPow(0.0, 2.0, 5.0));
|
||||
EXPECT_DOUBLE_EQ(5.0, frc::CopyDirectionPow(5.0, 2.0, 5.0));
|
||||
EXPECT_DOUBLE_EQ(-5.0, frc::CopyDirectionPow(-5.0, 2.0, 5.0));
|
||||
|
||||
EXPECT_DOUBLE_EQ(std::pow(0.8, 0.3) * 100,
|
||||
frc::CopySignPow(80.0, 0.3, 100.0));
|
||||
frc::CopyDirectionPow(80.0, 0.3, 100.0));
|
||||
EXPECT_DOUBLE_EQ(-std::pow(0.8, 0.3) * 100,
|
||||
frc::CopySignPow(-80.0, 0.3, 100.0));
|
||||
frc::CopyDirectionPow(-80.0, 0.3, 100.0));
|
||||
}
|
||||
|
||||
TEST(MathUtilTest, CopySignPowWithUnits) {
|
||||
EXPECT_UNITS_EQ(0_mps,
|
||||
frc::CopySignPow<units::meters_per_second_t>(0_mps, 2.0));
|
||||
EXPECT_UNITS_EQ(1_mps,
|
||||
frc::CopySignPow<units::meters_per_second_t>(1_mps, 2.0));
|
||||
EXPECT_UNITS_EQ(-1_mps,
|
||||
frc::CopySignPow<units::meters_per_second_t>(-1_mps, 2.0));
|
||||
TEST(MathUtilTest, CopyDirectionPowWithUnits) {
|
||||
EXPECT_UNITS_EQ(
|
||||
0_mps, frc::CopyDirectionPow<units::meters_per_second_t>(0_mps, 2.0));
|
||||
EXPECT_UNITS_EQ(
|
||||
1_mps, frc::CopyDirectionPow<units::meters_per_second_t>(1_mps, 2.0));
|
||||
EXPECT_UNITS_EQ(
|
||||
-1_mps, frc::CopyDirectionPow<units::meters_per_second_t>(-1_mps, 2.0));
|
||||
|
||||
EXPECT_UNITS_EQ(
|
||||
units::meters_per_second_t{0.5 * 0.5 * 10},
|
||||
frc::CopySignPow<units::meters_per_second_t>(5_mps, 2.0, 10_mps));
|
||||
frc::CopyDirectionPow<units::meters_per_second_t>(5_mps, 2.0, 10_mps));
|
||||
EXPECT_UNITS_EQ(
|
||||
units::meters_per_second_t{-0.5 * 0.5 * 10},
|
||||
frc::CopySignPow<units::meters_per_second_t>(-5_mps, 2.0, 10_mps));
|
||||
frc::CopyDirectionPow<units::meters_per_second_t>(-5_mps, 2.0, 10_mps));
|
||||
}
|
||||
|
||||
TEST(MathUtilTest, CopyDirectionPow2d) {
|
||||
|
||||
Reference in New Issue
Block a user