isle-portable/LEGO1/lego/sources/misc/legoutil.h
jonschz 6cda0d95c7
Complete LegoCarBuild (#1144)
* Complete `LegoCarBuild`

* Fix match error

* Address review comments

* Fix regression

* Fix minor sign comparison issue

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-11 15:44:03 +01:00

57 lines
801 B
C++

#ifndef __LEGOUTIL_H
#define __LEGOUTIL_H
template <class T>
inline T Min(T p_t1, T p_t2)
{
return p_t1 < p_t2 ? p_t1 : p_t2;
}
template <class T>
inline T Min(T p_t1, T p_t2, T p_t3)
{
return Min(p_t1, Min(p_t2, p_t3));
}
template <class T>
inline T Max(T p_t1, T p_t2)
{
return p_t1 > p_t2 ? p_t1 : p_t2;
}
template <class T>
inline T Max(T p_t1, T p_t2, T p_t3)
{
return Max(p_t1, Max(p_t2, p_t3));
}
template <class T>
inline T Abs(T p_t)
{
return p_t < 0 ? -p_t : p_t;
}
template <class T>
inline void Swap(T& p_t1, T& p_t2)
{
T t = p_t1;
p_t1 = p_t2;
p_t2 = t;
}
// TEMPLATE: BETA10 0x10073c20
// Swap
template <class T>
inline T DToR(T p_d)
{
return p_d * 3.1416F / 180.0F;
}
template <class T>
inline T RToD(T p_r)
{
return p_r * 180.0F / 3.1416F;
}
#endif // __LEGOUTIL_H