IT++ Logo Newcom Logo

itpp::Fix_Base Class Reference
[Fixed-Point Data Types]

Base class for fixed-point data types. More...

#include <itpp/fixedpoint/fix_base.h>

Inheritance diagram for itpp::Fix_Base:

itpp::CFix itpp::Fix itpp::CFixed< w, e, o, q > itpp::Fixed< w, e, o, q > List of all members.

Public Member Functions

 Fix_Base (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_Base (const Fix_Base &x)
 Copy constructor.
virtual ~Fix_Base ()
 Destructor.
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.
virtual void print () const
 Print restrictions.

Static Public Member Functions

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.
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

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.
Statstat_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).

Detailed Description

Base class for fixed-point data types.

See the Detailed Description in the Fixed-Point Data Types module.

Definition at line 993 of file fix_base.h.


Constructor & Destructor Documentation

itpp::Fix_Base::Fix_Base int  s = 0,
int  w = MAX_WORDLEN,
e_mode  e = TC,
o_mode  o = WRAP,
q_mode  q = TRN,
Stat ptr = 0
[inline, explicit]
 

Default constructor.

Definition at line 996 of file fix_base.h.

itpp::Fix_Base::Fix_Base const Fix_Base x  )  [inline]
 

Copy constructor.

Definition at line 999 of file fix_base.h.

References itpp::MAX_WORDLEN, itpp::TC, itpp::TRN, and itpp::WRAP.

virtual itpp::Fix_Base::~Fix_Base  )  [inline, virtual]
 

Destructor.

Definition at line 1002 of file fix_base.h.


Member Function Documentation

void itpp::Fix_Base::set_shift int  s  )  [inline]
 

Set shift (without shifting).

Definition at line 1005 of file fix_base.h.

Referenced by itpp::operator>>().

void itpp::Fix_Base::set_output_mode output_mode  o  )  [inline, static]
 

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.

void itpp::Fix_Base::set_output_mode std::string  o  )  [static]
 

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.

int itpp::Fix_Base::get_shift  )  const [inline]
 

Get shift.

Definition at line 1012 of file fix_base.h.

Referenced by itpp::operator<<().

int itpp::Fix_Base::get_wordlen  )  const [inline]
 

Get word length.

Definition at line 1014 of file fix_base.h.

e_mode itpp::Fix_Base::get_e_mode  )  const [inline]
 

Get sign encoding mode.

Definition at line 1016 of file fix_base.h.

References itpp::e_mode.

o_mode itpp::Fix_Base::get_o_mode  )  const [inline]
 

Get overflow mode.

Definition at line 1018 of file fix_base.h.

References itpp::o_mode.

q_mode itpp::Fix_Base::get_q_mode  )  const [inline]
 

Get quantization mode.

Definition at line 1020 of file fix_base.h.

References itpp::q_mode.

output_mode itpp::Fix_Base::get_output_mode  )  const [inline]
 

Get output mode.

Definition at line 1022 of file fix_base.h.

References itpp::output_mode.

fixrep itpp::Fix_Base::get_max  )  const [inline]
 

Get maximum value of data representation.

Definition at line 1024 of file fix_base.h.

References itpp::fixrep.

fixrep itpp::Fix_Base::get_min  )  const [inline]
 

Get minimum value of data representation.

Definition at line 1026 of file fix_base.h.

References itpp::fixrep.

void itpp::Fix_Base::print  )  const [virtual]
 

Print restrictions.

Reimplemented in itpp::CFix, and itpp::Fix.

Definition at line 57 of file fix_base.cpp.

References emode, max, min, n_unused_bits, omode, qmode, shift, stat_ptr, and wordlen.

void itpp::Fix_Base::init  )  [protected]
 

Calculate help variables min, max and n_unused_bits.

Definition at line 70 of file fix_base.cpp.

References itpp::fixrep, it_assert1, it_error, max, itpp::MAX_WORDLEN, min, n_unused_bits, itpp::TC, itpp::UINT64_POW2, itpp::US, and wordlen.

fixrep itpp::Fix_Base::apply_o_mode fixrep  x  )  const [protected]
 

Handle overflows using overflow mode omode and make call to statistics object (if any).

Definition at line 91 of file fix_base.cpp.

References itpp::fixrep, itpp::int64, it_error, n_unused_bits, itpp::Stat::sample(), itpp::SAT, stat_ptr, and itpp::WRAP.

Referenced by itpp::Fix::lshift(), itpp::CFix::lshift(), itpp::Fix::operator *=(), itpp::CFix::operator *=(), itpp::Fix::operator+=(), itpp::CFix::operator+=(), itpp::Fix::operator-=(), itpp::CFix::operator-=(), itpp::Fix::operator/=(), itpp::CFix::operator/=(), itpp::Fix::operator<<=(), itpp::CFix::operator<<=(), itpp::Fix::operator=(), itpp::CFix::operator=(), and scale_and_apply_modes().

fixrep itpp::Fix_Base::scale_and_apply_modes double  x  )  const [inline, protected]
 

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::fixrep.

Referenced by itpp::Fix::set(), and itpp::CFix::set().

fixrep itpp::Fix_Base::scale_and_apply_modes double  x,
q_mode  q
const [protected]
 

Convert from double to fixrep using shift and quantization mode q, then call limit().

Definition at line 131 of file fix_base.cpp.

References apply_o_mode(), itpp::DOUBLE_POW2, itpp::fixrep, 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(), shift, itpp::TRN, and itpp::TRN_ZERO.

fixrep itpp::Fix_Base::rshift_and_apply_q_mode fixrep  x,
int  n
const [inline, protected]
 

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::fixrep.

Referenced by itpp::Fix::operator>>=(), itpp::CFix::operator>>=(), itpp::Fix::rshift(), and itpp::CFix::rshift().

fixrep itpp::Fix_Base::rshift_and_apply_q_mode fixrep  x,
int  n,
q_mode  q
const [protected]
 

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 itpp::fixrep, 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(), stat_ptr, itpp::TRN, and itpp::TRN_ZERO.


Member Data Documentation

int itpp::Fix_Base::shift [protected]
 

Accumulated bitshift (positive means left-shifted, negative means right-shifted).

Definition at line 1032 of file fix_base.h.

Referenced by itpp::Fix::operator *=(), itpp::CFix::operator *=(), itpp::Fix::operator/=(), itpp::CFix::operator/=(), itpp::Fixed< w, e, o, q >::operator=(), itpp::Fix::operator=(), itpp::CFixed< w, e, o, q >::operator=(), itpp::CFix::operator=(), print(), and scale_and_apply_modes().

int itpp::Fix_Base::wordlen [protected]
 

Word length.

Definition at line 1034 of file fix_base.h.

Referenced by init(), and print().

e_mode itpp::Fix_Base::emode [protected]
 

Sign encoding mode.

Definition at line 1036 of file fix_base.h.

Referenced by print().

o_mode itpp::Fix_Base::omode [protected]
 

Overflow mode.

Definition at line 1038 of file fix_base.h.

Referenced by print().

q_mode itpp::Fix_Base::qmode [protected]
 

Quantization mode.

Definition at line 1040 of file fix_base.h.

Referenced by print().

Stat* itpp::Fix_Base::stat_ptr [protected]
 

Pointer to statistics object.

Definition at line 1042 of file fix_base.h.

Referenced by apply_o_mode(), print(), and rshift_and_apply_q_mode().

fixrep itpp::Fix_Base::min [protected]
 

Minimum allowed value (help variable to speed up calculations).

Definition at line 1044 of file fix_base.h.

Referenced by init(), and print().

fixrep itpp::Fix_Base::max [protected]
 

Maximum allowed value (help variable to speed up calculations).

Definition at line 1046 of file fix_base.h.

Referenced by init(), and print().

int itpp::Fix_Base::n_unused_bits [protected]
 

Number of unused (MSB) bits (help variable to speed up calculations).

Definition at line 1048 of file fix_base.h.

Referenced by apply_o_mode(), init(), and print().


The documentation for this class was generated from the following files:
SourceForge Logo

Generated on Fri Jan 11 08:51:43 2008 for IT++ by Doxygen 1.3.9.1