template<typename T, T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
class CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >
A simple fixed-point number class.
Use 'fixed' rather than using this class directly.
Definition at line 115 of file Fixed.h.
template<typename T , T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
bool CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >::IsZero |
( |
| ) |
const |
|
inline |
Returns true if the number is precisely 0.
Definition at line 199 of file Fixed.h.
template<typename T , T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
CFixed CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >::MulDiv |
( |
CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 > |
m, |
|
|
CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 > |
d |
|
) |
| const |
|
inline |
Compute this*m/d.
Must not have d == 0. Won't overflow if the result can be represented as a CFixed.
Definition at line 310 of file Fixed.h.
template<typename T , T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
CFixed CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >::Multiply |
( |
CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 > |
n | ) |
const |
|
inline |
Multiply by a CFixed.
Likely to overflow if both numbers are large, so we use an ugly name instead of operator* to make it obvious.
Definition at line 290 of file Fixed.h.
template<typename T , T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
CFixed CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >::operator% |
( |
CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 > |
n | ) |
const |
|
inline |
Mod by a fixed. Must not have n == 0. Result has the same sign as n.
Definition at line 273 of file Fixed.h.
template<typename T , T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
CFixed CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >::operator* |
( |
int |
n | ) |
const |
|
inline |
Multiply by an integer. Might overflow.
Definition at line 259 of file Fixed.h.
template<typename T , T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
CFixed CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >::operator+ |
( |
CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 > |
n | ) |
const |
|
inline |
template<typename T , T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
CFixed& CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >::operator+= |
( |
CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 > |
n | ) |
|
|
inline |
template<typename T , T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
CFixed CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >::operator- |
( |
CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 > |
n | ) |
const |
|
inline |
template<typename T , T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
CFixed& CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >::operator-= |
( |
CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 > |
n | ) |
|
|
inline |
template<typename T , T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
CFixed CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >::operator/ |
( |
CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 > |
n | ) |
const |
|
inline |
Divide by a CFixed. Must not have n.IsZero(). Might overflow.
Definition at line 249 of file Fixed.h.
template<typename T , T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
CFixed CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >::operator/ |
( |
int |
n | ) |
const |
|
inline |
Divide by an integer. Must not have n == 0. Cannot overflow unless n == -1.
Definition at line 266 of file Fixed.h.
template<typename T , T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
CFixed CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >::Square |
( |
| ) |
const |
|
inline |
Multiply the value by itself.
Might overflow.
Definition at line 302 of file Fixed.h.
template<typename T , T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
double CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >::ToDouble |
( |
| ) |
const |
|
inline |
Convert to double. Won't be lossy - double can precisely represent all values.
Definition at line 167 of file Fixed.h.
template<typename T , T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
float CFixed< T, max_t, total_bits, int_bits, fract_bits_, fract_pow2 >::ToFloat |
( |
| ) |
const |
|
inline |
Convert to float. May be lossy - float can't represent all values.
Definition at line 161 of file Fixed.h.