34 lines
555 B
C
34 lines
555 B
C
|
#pragma once
|
||
|
|
||
|
#include "CoreTypes.h"
|
||
|
|
||
|
NS_REDCRAFT_BEGIN
|
||
|
NS_BEGIN(Math)
|
||
|
|
||
|
template <typename T>
|
||
|
static constexpr FORCEINLINE T Abs(const T A)
|
||
|
{
|
||
|
return (A >= (T)0) ? A : -A;
|
||
|
}
|
||
|
|
||
|
template <typename T>
|
||
|
static constexpr FORCEINLINE T Sign(const T A)
|
||
|
{
|
||
|
return (A > (T)0) ? (T)1 : ((A < (T)0) ? (T)-1 : (T)0);
|
||
|
}
|
||
|
|
||
|
template <typename T>
|
||
|
static constexpr FORCEINLINE T Max(const T A, const T B)
|
||
|
{
|
||
|
return (A >= B) ? A : B;
|
||
|
}
|
||
|
|
||
|
template <typename T>
|
||
|
static constexpr FORCEINLINE T Min(const T A, const T B)
|
||
|
{
|
||
|
return (A <= B) ? A : B;
|
||
|
}
|
||
|
|
||
|
NS_END(Math)
|
||
|
NS_REDCRAFT_END
|