#include <itpp/fixedpoint/fix.h>
Inheritance diagram for itpp::Fix:

Public Member Functions | |
| Fix (double x=0.0, int s=0, int w=MAX_WORDLEN, e_mode e=TC, o_mode o=WRAP, q_mode q=TRN, Stat *ptr=0) | |
| Default constructor. | |
| Fix (const Fix_Factory &f) | |
| Constructor. | |
| Fix (fixrep r, int s, int dummy1, int dummy2) | |
| Constructor for internal use. No restrictions are applied. The dummies help to avoid ambiguities. | |
| Fix (const Fix &x, int w=MAX_WORDLEN, e_mode e=TC, o_mode o=WRAP, q_mode q=TRN, Stat *ptr=0) | |
| Copy constructor. | |
| virtual | ~Fix () |
| Destructor. | |
| Fix & | operator= (const Fix &x) |
| Assignment from Fix. | |
| Fix & | operator= (const int x) |
| Assignment from int. | |
| Fix & | operator+= (const Fix &x) |
| Addition of Fix. | |
| Fix & | operator+= (const int x) |
| Addition of int. | |
| Fix & | operator-= (const Fix &x) |
| Subtraction of Fix. | |
| Fix & | operator-= (const int x) |
| Subtraction of int. | |
| Fix & | operator *= (const Fix &x) |
| Multiplication with Fix. | |
| Fix & | operator *= (const int x) |
| Multiplication with int. | |
| Fix & | operator/= (const Fix &x) |
Division with Fix using quantization mode TRN. | |
| Fix & | operator/= (const int x) |
Division with int using quantization mode TRN. | |
| Fix | operator- () const |
| Unary negative of Fix. | |
| Fix & | operator<<= (const int n) |
Left shift n bits. | |
| Fix & | operator>>= (const int n) |
Right shift n bits using quantization mode qmode (constructor argument). | |
| void | set (double x, int n) |
Set to x * pow2(n) using quantization mode qmode (constructor argument). | |
| void | set (double x, int n, q_mode q) |
Set to x * pow2(n) using quantization mode q (function argument). | |
| void | set_re (fixrep x) |
| Set data representation (mainly for internal use since it reveals the representation type). | |
| void | lshift (int n) |
Left shift n bits. | |
| void | rshift (int n) |
Right shift n bits using quantization mode qmode (constructor argument). | |
| void | rshift (int n, q_mode q) |
Right shift n bits using quantization mode q (function argument). | |
| virtual void | print () const |
| Print restrictions. | |
| fixrep | get_re () const |
| Get data representation (mainly for internal use since it reveals the representation type). | |
| double | unfix () const |
| Conversion to double. | |
| operator double () const | |
| Conversion to double. | |
| void | set_shift (int s) |
| Set shift (without shifting). | |
| int | get_shift () const |
| Get shift. | |
| int | get_wordlen () const |
| Get word length. | |
| e_mode | get_e_mode () const |
| Get sign encoding mode. | |
| o_mode | get_o_mode () const |
| Get overflow mode. | |
| q_mode | get_q_mode () const |
| Get quantization mode. | |
| output_mode | get_output_mode () const |
| Get output mode. | |
| fixrep | get_max () const |
| Get maximum value of data representation. | |
| fixrep | get_min () const |
| Get minimum value of data representation. | |
Static Public Member Functions | |
| static void | set_output_mode (output_mode o) |
| Set output mode to OUTPUT_FIX, OUTPUT_FIX_SHIFT, OUTPUT_FLOAT or OUTPUT_FLOAT_SHIFT. Static member function. | |
| static void | set_output_mode (std::string o) |
| Set output mode to "OUTPUT_FIX", "OUTPUT_FIX_SHIFT", "OUTPUT_FLOAT" or "OUTPUT_FLOAT_SHIFT". Static member function. | |
Protected Member Functions | |
| void | init () |
| Calculate help variables min, max and n_unused_bits. | |
| fixrep | apply_o_mode (fixrep x) const |
Handle overflows using overflow mode omode and make call to statistics object (if any). | |
| fixrep | scale_and_apply_modes (double x) const |
Convert from double to fixrep using shift and quantization mode qmode, then call limit(). | |
| fixrep | scale_and_apply_modes (double x, q_mode q) const |
Convert from double to fixrep using shift and quantization mode q, then call limit(). | |
| fixrep | rshift_and_apply_q_mode (fixrep x, int n) const |
Right shift n bits using quantization mode qmode and make call to statistics object (if any). | |
| fixrep | rshift_and_apply_q_mode (fixrep x, int n, q_mode q) const |
Right shift n bits using quantization mode q and make call to statistics object (if any). | |
Protected Attributes | |
| fixrep | re |
| Data representation. | |
| int | shift |
| Accumulated bitshift (positive means left-shifted, negative means right-shifted). | |
| int | wordlen |
| Word length. | |
| e_mode | emode |
| Sign encoding mode. | |
| o_mode | omode |
| Overflow mode. | |
| q_mode | qmode |
| Quantization mode. | |
| Stat * | stat_ptr |
| Pointer to statistics object. | |
| fixrep | min |
| Minimum allowed value (help variable to speed up calculations). | |
| fixrep | max |
| Maximum allowed value (help variable to speed up calculations). | |
| int | n_unused_bits |
| Number of unused (MSB) bits (help variable to speed up calculations). | |
Friends | |
| class | CFix |
| class | Fixed |
| class | CFixed |
| int | assert_shifts (const CFix &x, const Fix &y) |
| Check that x.shift==y.shift OR x==0 OR y==0 and return the shift (for the non-zero argument). | |
| int | assert_shifts (const Fix &x, const Fix &y) |
| Check that x.shift==y.shift OR x==0 OR y==0 and return the shift (for the non-zero argument). | |
| int | assert_shifts (const Fix &x, int y) |
| Check that x.shift==0 OR x==0 OR y==0 and return x.shift. | |
See the Detailed Description in the Fixed-Point Data Types module.
Definition at line 54 of file fix.h.
| itpp::Fix::Fix | ( | double | x = 0.0, |
|
| int | s = 0, |
|||
| int | w = MAX_WORDLEN, |
|||
| e_mode | e = TC, |
|||
| o_mode | o = WRAP, |
|||
| q_mode | q = TRN, |
|||
| Stat * | ptr = 0 | |||
| ) | [inline] |
| itpp::Fix::Fix | ( | const Fix_Factory & | f | ) | [inline, explicit] |
| itpp::Fix::Fix | ( | fixrep | r, | |
| int | s, | |||
| int | dummy1, | |||
| int | dummy2 | |||
| ) | [inline] |
Assignment from Fix.
Reimplemented in itpp::Fixed< w, e, o, q >.
Definition at line 40 of file fix.cpp.
References itpp::Fix_Base::apply_o_mode(), re, and itpp::Fix_Base::shift.
| Fix & itpp::Fix::operator= | ( | const int | x | ) |
Assignment from int.
Reimplemented in itpp::Fixed< w, e, o, q >.
Definition at line 47 of file fix.cpp.
References itpp::Fix_Base::apply_o_mode(), re, and itpp::Fix_Base::shift.
Addition of Fix.
Definition at line 54 of file fix.cpp.
References itpp::Fix_Base::apply_o_mode(), assert_shifts, re, and itpp::Fix_Base::shift.
| Fix & itpp::Fix::operator+= | ( | const int | x | ) |
Addition of int.
Definition at line 61 of file fix.cpp.
References itpp::Fix_Base::apply_o_mode(), assert_shifts, and re.
Subtraction of Fix.
Definition at line 68 of file fix.cpp.
References itpp::Fix_Base::apply_o_mode(), assert_shifts, re, and itpp::Fix_Base::shift.
| Fix & itpp::Fix::operator-= | ( | const int | x | ) |
Subtraction of int.
Definition at line 75 of file fix.cpp.
References itpp::Fix_Base::apply_o_mode(), assert_shifts, and re.
Multiplication with Fix.
Definition at line 82 of file fix.cpp.
References itpp::Fix_Base::apply_o_mode(), re, and itpp::Fix_Base::shift.
| Fix & itpp::Fix::operator *= | ( | const int | x | ) |
Multiplication with int.
Definition at line 89 of file fix.cpp.
References itpp::Fix_Base::apply_o_mode(), and re.
Division with Fix using quantization mode TRN.
Definition at line 95 of file fix.cpp.
References itpp::Fix_Base::apply_o_mode(), re, and itpp::Fix_Base::shift.
| Fix & itpp::Fix::operator/= | ( | const int | x | ) |
Division with int using quantization mode TRN.
Definition at line 102 of file fix.cpp.
References itpp::Fix_Base::apply_o_mode(), and re.
| Fix itpp::Fix::operator- | ( | ) | const |
| Fix & itpp::Fix::operator<<= | ( | const int | n | ) |
Left shift n bits.
Definition at line 113 of file fix.cpp.
References itpp::Fix_Base::apply_o_mode(), it_assert1, re, and itpp::Fix_Base::shift.
| Fix & itpp::Fix::operator>>= | ( | const int | n | ) |
Right shift n bits using quantization mode qmode (constructor argument).
Definition at line 121 of file fix.cpp.
References re, itpp::Fix_Base::rshift_and_apply_q_mode(), and itpp::Fix_Base::shift.
| void itpp::Fix::set | ( | double | x, | |
| int | n | |||
| ) |
Set to x * pow2(n) using quantization mode qmode (constructor argument).
Definition at line 128 of file fix.cpp.
References re, itpp::Fix_Base::scale_and_apply_modes(), and itpp::Fix_Base::shift.
Referenced by itpp::operator>>(), and itpp::set_fix().
| void itpp::Fix::set | ( | double | x, | |
| int | n, | |||
| q_mode | q | |||
| ) |
Set to x * pow2(n) using quantization mode q (function argument).
Definition at line 134 of file fix.cpp.
References re, itpp::Fix_Base::scale_and_apply_modes(), and itpp::Fix_Base::shift.
| void itpp::Fix::set_re | ( | fixrep | x | ) | [inline] |
Set data representation (mainly for internal use since it reveals the representation type).
Definition at line 106 of file fix.h.
References itpp::Fix_Base::apply_o_mode(), and re.
Referenced by itpp::operator>>().
| void itpp::Fix::lshift | ( | int | n | ) |
Left shift n bits.
Definition at line 140 of file fix.cpp.
References itpp::Fix_Base::apply_o_mode(), it_assert1, re, and itpp::Fix_Base::shift.
Referenced by itpp::lshift_fix().
| void itpp::Fix::rshift | ( | int | n | ) |
Right shift n bits using quantization mode qmode (constructor argument).
Definition at line 147 of file fix.cpp.
References re, itpp::Fix_Base::rshift_and_apply_q_mode(), and itpp::Fix_Base::shift.
Referenced by itpp::rshift_fix().
| void itpp::Fix::rshift | ( | int | n, | |
| q_mode | q | |||
| ) |
Right shift n bits using quantization mode q (function argument).
Definition at line 153 of file fix.cpp.
References re, itpp::Fix_Base::rshift_and_apply_q_mode(), and itpp::Fix_Base::shift.
| void itpp::Fix::print | ( | ) | const [virtual] |
Print restrictions.
Reimplemented from itpp::Fix_Base.
Definition at line 165 of file fix.cpp.
References itpp::Fix_Base::print(), and re.
| fixrep itpp::Fix::get_re | ( | ) | const [inline] |
Get data representation (mainly for internal use since it reveals the representation type).
Definition at line 118 of file fix.h.
References re.
Referenced by itpp::abs(), itpp::operator *(), itpp::operator+(), itpp::operator-(), itpp::operator/(), and itpp::operator<<().
| double itpp::Fix::unfix | ( | ) | const |
Conversion to double.
Definition at line 159 of file fix.cpp.
References itpp::DOUBLE_POW2, it_assert1, re, and itpp::Fix_Base::shift.
Referenced by itpp::unfix().
| itpp::Fix::operator double | ( | ) | const [inline] |
Conversion to double.
Definition at line 124 of file fix.h.
References itpp::DOUBLE_POW2, it_assert1, re, and itpp::Fix_Base::shift.
| void itpp::Fix_Base::set_shift | ( | int | s | ) | [inline, inherited] |
Set shift (without shifting).
Definition at line 1005 of file fix_base.h.
References itpp::Fix_Base::shift.
Referenced by itpp::operator>>().
| static void itpp::Fix_Base::set_output_mode | ( | output_mode | o | ) | [inline, static, inherited] |
Set output mode to OUTPUT_FIX, OUTPUT_FIX_SHIFT, OUTPUT_FLOAT or OUTPUT_FLOAT_SHIFT. Static member function.
Definition at line 1007 of file fix_base.h.
Referenced by itpp::operator<<().
| void itpp::Fix_Base::set_output_mode | ( | std::string | o | ) | [static, inherited] |
Set output mode to "OUTPUT_FIX", "OUTPUT_FIX_SHIFT", "OUTPUT_FLOAT" or "OUTPUT_FLOAT_SHIFT". Static member function.
Definition at line 43 of file fix_base.cpp.
References it_error, itpp::OUTPUT_FIX, itpp::OUTPUT_FIX_SHIFT, itpp::OUTPUT_FLOAT, and itpp::OUTPUT_FLOAT_SHIFT.
| int itpp::Fix_Base::get_shift | ( | ) | const [inline, inherited] |
Get shift.
Definition at line 1012 of file fix_base.h.
References itpp::Fix_Base::shift.
Referenced by itpp::abs(), itpp::assert_fixshift(), itpp::conj(), itpp::imag(), itpp::operator *(), itpp::operator/(), itpp::operator<<(), and itpp::real().
| int itpp::Fix_Base::get_wordlen | ( | ) | const [inline, inherited] |
| e_mode itpp::Fix_Base::get_e_mode | ( | ) | const [inline, inherited] |
Get sign encoding mode.
Definition at line 1016 of file fix_base.h.
References itpp::Fix_Base::emode.
| o_mode itpp::Fix_Base::get_o_mode | ( | ) | const [inline, inherited] |
| q_mode itpp::Fix_Base::get_q_mode | ( | ) | const [inline, inherited] |
Get quantization mode.
Definition at line 1020 of file fix_base.h.
References itpp::Fix_Base::qmode.
| output_mode itpp::Fix_Base::get_output_mode | ( | ) | const [inline, inherited] |
| fixrep itpp::Fix_Base::get_max | ( | ) | const [inline, inherited] |
Get maximum value of data representation.
Definition at line 1024 of file fix_base.h.
References itpp::Fix_Base::max.
| fixrep itpp::Fix_Base::get_min | ( | ) | const [inline, inherited] |
Get minimum value of data representation.
Definition at line 1026 of file fix_base.h.
References itpp::Fix_Base::min.
| void itpp::Fix_Base::init | ( | ) | [protected, inherited] |
Calculate help variables min, max and n_unused_bits.
Definition at line 70 of file fix_base.cpp.
References itpp::Fix_Base::emode, it_assert1, it_error, itpp::Fix_Base::max, itpp::MAX_WORDLEN, itpp::Fix_Base::min, itpp::Fix_Base::n_unused_bits, itpp::TC, itpp::UINT64_POW2, itpp::US, and itpp::Fix_Base::wordlen.
Referenced by itpp::Fix_Base::Fix_Base().
Handle overflows using overflow mode omode and make call to statistics object (if any).
Definition at line 91 of file fix_base.cpp.
References it_error, itpp::Fix_Base::max, itpp::Fix_Base::min, itpp::Fix_Base::n_unused_bits, itpp::Fix_Base::omode, itpp::Stat::sample(), itpp::SAT, itpp::Fix_Base::stat_ptr, and itpp::WRAP.
Referenced by lshift(), itpp::CFix::lshift(), operator *=(), itpp::CFix::operator *=(), operator+=(), itpp::CFix::operator+=(), operator-=(), itpp::CFix::operator-=(), operator/=(), itpp::CFix::operator/=(), operator<<=(), itpp::CFix::operator<<=(), itpp::Fixed< w, e, o, q >::operator=(), operator=(), itpp::CFixed< w, e, o, q >::operator=(), itpp::CFix::operator=(), itpp::Fix_Base::scale_and_apply_modes(), itpp::CFix::set_im(), set_re(), and itpp::CFix::set_re().
| fixrep itpp::Fix_Base::scale_and_apply_modes | ( | double | x | ) | const [inline, protected, inherited] |
Convert from double to fixrep using shift and quantization mode qmode, then call limit().
Definition at line 1055 of file fix_base.h.
References itpp::Fix_Base::qmode.
Referenced by set(), and itpp::CFix::set().
Convert from double to fixrep using shift and quantization mode q, then call limit().
Definition at line 131 of file fix_base.cpp.
References itpp::Fix_Base::apply_o_mode(), itpp::ceil(), itpp::DOUBLE_POW2, itpp::floor(), it_assert1, it_error, itpp::RND, itpp::RND_CONV, itpp::RND_CONV_ODD, itpp::RND_INF, itpp::RND_MIN_INF, itpp::RND_ZERO, itpp::round(), itpp::Fix_Base::shift, itpp::TRN, and itpp::TRN_ZERO.
| fixrep itpp::Fix_Base::rshift_and_apply_q_mode | ( | fixrep | x, | |
| int | n | |||
| ) | const [inline, protected, inherited] |
Right shift n bits using quantization mode qmode and make call to statistics object (if any).
Definition at line 1059 of file fix_base.h.
References itpp::Fix_Base::qmode.
Referenced by operator>>=(), itpp::CFix::operator>>=(), rshift(), and itpp::CFix::rshift().
| fixrep itpp::Fix_Base::rshift_and_apply_q_mode | ( | fixrep | x, | |
| int | n, | |||
| q_mode | q | |||
| ) | const [protected, inherited] |
Right shift n bits using quantization mode q and make call to statistics object (if any).
Definition at line 185 of file fix_base.cpp.
References it_assert1, it_error, itpp::RND, itpp::RND_CONV, itpp::RND_CONV_ODD, itpp::RND_INF, itpp::RND_MIN_INF, itpp::RND_ZERO, itpp::Stat::sample(), itpp::Fix_Base::stat_ptr, itpp::TRN, and itpp::TRN_ZERO.
Check that x.shift==y.shift OR x==0 OR y==0 and return the shift (for the non-zero argument).
Definition at line 267 of file cfix.cpp.
Referenced by operator+=(), and operator-=().
| int assert_shifts | ( | const Fix & | x, | |
| int | y | |||
| ) | [friend] |
fixrep itpp::Fix::re [protected] |
Data representation.
Definition at line 140 of file fix.h.
Referenced by itpp::assert_shifts(), get_re(), lshift(), operator *=(), itpp::CFix::operator *=(), operator double(), operator+=(), itpp::CFix::operator+=(), operator-(), operator-=(), itpp::CFix::operator-=(), operator/=(), itpp::CFix::operator/=(), operator<<=(), itpp::Fixed< w, e, o, q >::operator=(), operator=(), itpp::CFixed< w, e, o, q >::operator=(), itpp::CFix::operator=(), operator>>=(), print(), rshift(), set(), set_re(), and unfix().
int itpp::Fix_Base::shift [protected, inherited] |
Accumulated bitshift (positive means left-shifted, negative means right-shifted).
Definition at line 1032 of file fix_base.h.
Referenced by itpp::assert_shifts(), itpp::Fix_Base::get_shift(), lshift(), itpp::CFix::lshift(), operator *=(), itpp::CFix::operator *=(), operator double(), itpp::CFix::operator std::complex(), operator+=(), itpp::CFix::operator+=(), operator-(), itpp::CFix::operator-(), operator-=(), itpp::CFix::operator-=(), operator/=(), itpp::CFix::operator/=(), operator<<=(), itpp::CFix::operator<<=(), itpp::Fixed< w, e, o, q >::operator=(), operator=(), itpp::CFixed< w, e, o, q >::operator=(), itpp::CFix::operator=(), itpp::operator>>(), operator>>=(), itpp::CFix::operator>>=(), itpp::Fix_Base::print(), rshift(), itpp::CFix::rshift(), itpp::Fix_Base::scale_and_apply_modes(), set(), itpp::CFix::set(), itpp::Fix_Base::set_shift(), unfix(), and itpp::CFix::unfix().
int itpp::Fix_Base::wordlen [protected, inherited] |
Word length.
Definition at line 1034 of file fix_base.h.
Referenced by itpp::Fix_Base::get_wordlen(), itpp::Fix_Base::init(), and itpp::Fix_Base::print().
e_mode itpp::Fix_Base::emode [protected, inherited] |
Sign encoding mode.
Definition at line 1036 of file fix_base.h.
Referenced by itpp::Fix_Base::get_e_mode(), itpp::Fix_Base::init(), and itpp::Fix_Base::print().
o_mode itpp::Fix_Base::omode [protected, inherited] |
Overflow mode.
Definition at line 1038 of file fix_base.h.
Referenced by itpp::Fix_Base::apply_o_mode(), itpp::Fix_Base::get_o_mode(), and itpp::Fix_Base::print().
q_mode itpp::Fix_Base::qmode [protected, inherited] |
Quantization mode.
Definition at line 1040 of file fix_base.h.
Referenced by itpp::Fix_Base::get_q_mode(), itpp::Fix_Base::print(), itpp::Fix_Base::rshift_and_apply_q_mode(), and itpp::Fix_Base::scale_and_apply_modes().
Stat* itpp::Fix_Base::stat_ptr [protected, inherited] |
Pointer to statistics object.
Definition at line 1042 of file fix_base.h.
Referenced by itpp::Fix_Base::apply_o_mode(), itpp::Fix_Base::print(), and itpp::Fix_Base::rshift_and_apply_q_mode().
fixrep itpp::Fix_Base::min [protected, inherited] |
Minimum allowed value (help variable to speed up calculations).
Definition at line 1044 of file fix_base.h.
Referenced by itpp::Fix_Base::apply_o_mode(), itpp::Fix_Base::get_min(), itpp::Fix_Base::init(), and itpp::Fix_Base::print().
fixrep itpp::Fix_Base::max [protected, inherited] |
Maximum allowed value (help variable to speed up calculations).
Definition at line 1046 of file fix_base.h.
Referenced by itpp::Fix_Base::apply_o_mode(), itpp::Fix_Base::get_max(), itpp::Fix_Base::init(), and itpp::Fix_Base::print().
int itpp::Fix_Base::n_unused_bits [protected, inherited] |
Number of unused (MSB) bits (help variable to speed up calculations).
Definition at line 1048 of file fix_base.h.
Referenced by itpp::Fix_Base::apply_o_mode(), itpp::Fix_Base::init(), and itpp::Fix_Base::print().
Generated on Wed Apr 18 11:23:43 2007 for IT++ by Doxygen 1.5.2