Moving constrain and constrainf to the include file to be inlined.

This commit is contained in:
JOhn Aughey 2016-05-02 10:03:43 -05:00
parent 6d15c03813
commit b6ff69feda
2 changed files with 22 additions and 20 deletions

View File

@ -111,26 +111,6 @@ int32_t applyDeadband(int32_t value, int32_t deadband)
return value;
}
int constrain(int amt, int low, int high)
{
if (amt < low)
return low;
else if (amt > high)
return high;
else
return amt;
}
float constrainf(float amt, float low, float high)
{
if (amt < low)
return low;
else if (amt > high)
return high;
else
return amt;
}
void devClear(stdev_t *dev)
{
dev->m_n = 0;

View File

@ -116,3 +116,25 @@ void arraySubInt32(int32_t *dest, int32_t *array1, int32_t *array2, int count);
int16_t qPercent(fix12_t q);
int16_t qMultiply(fix12_t q, int16_t input);
fix12_t qConstruct(int16_t num, int16_t den);
// Defining constrain and constrainf as inline in the include file
// because these functions are used universally and should be fast.
inline int constrain(int amt, int low, int high)
{
if (amt < low)
return low;
else if (amt > high)
return high;
else
return amt;
}
inline float constrainf(float amt, float low, float high)
{
if (amt < low)
return low;
else if (amt > high)
return high;
else
return amt;
}