mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-01 11:06:04 +08:00
Functions: add sign from boolean function with unit tests
This commit is contained in:
@@ -54,6 +54,17 @@ int signNoZero(T val)
|
||||
return (T(0) <= val) - (val < T(0));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sign function based on a boolean
|
||||
*
|
||||
* @param[in] positive Truth value to take the sign from
|
||||
* @return 1 if positive is true, -1 if positive is false
|
||||
*/
|
||||
inline int signFromBool(bool positive)
|
||||
{
|
||||
return positive ? 1 : -1;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
T sq(T val)
|
||||
{
|
||||
|
||||
@@ -47,6 +47,15 @@ TEST(FunctionsTest, signNoZero)
|
||||
EXPECT_FLOAT_EQ(signNoZero(123.456f), 1.f);
|
||||
}
|
||||
|
||||
TEST(FunctionsTest, signFromBool)
|
||||
{
|
||||
EXPECT_EQ(signFromBool(true), 1);
|
||||
EXPECT_EQ(signFromBool(false), -1);
|
||||
EXPECT_EQ(signFromBool(100), 1);
|
||||
EXPECT_EQ(signFromBool(-100), 1);
|
||||
EXPECT_EQ(signFromBool(0), -1);
|
||||
}
|
||||
|
||||
TEST(FunctionsTest, expo)
|
||||
{
|
||||
// input value limits
|
||||
|
||||
Reference in New Issue
Block a user