7 #ifndef _INC_cFloatEst_H
8 #define _INC_cFloatEst_H
25 #pragma check_stack(off)
27 #pragma runtime_checks( "", off )
40 static inline float Sqrt(
float n) noexcept
49 static inline float pow2(
int iPow)
53 ASSERT((iPow >= -127) && (iPow <= FLT_MAX_EXP));
81 static inline float Sqrt(
float n)
85 static inline float pow2(
int iPow)
87 return Calc::Pow<float>(2.0f, (
float)iPow);
102 return (
int) ::floorf(f);
107 return (
int) ::ceilf(f);
120 #pragma runtime_checks( "", restore )
#define ASSERT(exp)
Definition: cDebugAssert.h:87
Definition: cFloatEst.h:125
void CreateSinTable(int iTicks)
Definition: cFloatEst.cpp:14
cArrayVal< float > m_Values
sine wave table values.
Definition: cFloatEst.h:132
float Sin(RADIANf_t fVal)
Definition: cFloatEst.cpp:22
Definition: cFloatEst.h:32
UNITTEST_FRIEND(cFloatEst)
static int ifloor_log2(float x)
Definition: cFloatEst.h:57
static int ifloor(float f)
Definition: cFloatEst.h:99
static float pow2(int iPow)
Definition: cFloatEst.h:49
static bool IsInteger(float f)
Definition: cFloatEst.h:109
static int iceil_log2(float x)
Definition: cFloatEst.h:66
static int iceil(float f)
Definition: cFloatEst.h:104
static float Sqrt(float n) noexcept
Definition: cFloatEst.h:40
static const UINT32 k_MANT_MASK
23 bits = fractional mantissa = FLT_MANT_DIG
Definition: cFloat.h:35
static const UINT32 k_uOne
(UINT32) = float 1.0f (8 bit exponent)
Definition: cFloat.h:28
static const UINT32 k_EXP_MASK
8 bits = signed exponent (base 2)
Definition: cFloat.h:33
static const UINT32 k_MANT_BITS
23 bits = fractional mantissa = FLT_MANT_DIG
Definition: cFloat.h:36
static float fromBits(UINT32 src) noexcept
Definition: cFloat.h:62
static UINT32 toBits(float src) noexcept
Definition: cFloat.h:53
UNITTEST2_PREDEF(cQuadtree)
float RADIANf_t
type is float radians
Definition: Calc.h:27
static TYPE Log(TYPE a)
Natural (e) log. // negative will throw ?
static const TYPE k_Log2e
M_LOG2E = log2(e) = 1/ln(2)
Definition: Calc.h:57