![]()  | 
  
    The Open Master Hearing Aid (openMHA)
    openMHA
    
   Open community platform for hearing aid algorithm research 
   | 
 
Class for interpolation with non-equidistant x values. More...

Public Member Functions | |
| xy_table_t () | |
| mha_real_t | lookup (mha_real_t x) const | 
| Return the y-value at the position of the nearest x value below input.  More... | |
| mha_real_t | interp (mha_real_t x) const | 
| Linear interpolation function.  More... | |
| void | add_entry (mha_real_t x, mha_real_t y) | 
| Add a single x-y pair entry.  More... | |
| void | add_entry (mha_real_t *pVX, mha_real_t *pVY, unsigned int len) | 
| Add multiple entries at once.  More... | |
| void | clear () | 
| Clear the table and transformation functions.  More... | |
| void | set_xfun (float(*pXFun)(float)) | 
| Set transformation function for x values.  More... | |
| void | set_yfun (float(*pYFun)(float)) | 
| Set transformation function for y values during insertion.  More... | |
| void | set_xyfun (float(*pYFun)(float, float)) | 
| Set transformation function for y values during insertion, based on x and y values.  More... | |
| std::pair< mha_real_t, mha_real_t > | get_xlimits () const | 
| returns the min and max x of all mesh points that are stored in the lookup table, i.e.  More... | |
  Public Member Functions inherited from MHATableLookup::table_t | |
| table_t (void) | |
| virtual | ~table_t (void) | 
Private Attributes | |
| std::map< mha_real_t, mha_real_t > | mXY | 
| float(* | xfun )(float) | 
| float(* | yfun )(float) | 
| float(* | xyfun )(float, float) | 
Additional Inherited Members | 
Class for interpolation with non-equidistant x values.
Linear interpolation of the x-y table is performed. A transformation of x and y-values is possible; if a transformation function is provided for the x-values, the same function is applied to the argument of xy_table_t::interp() and xy_table_t::lookup(). The transformation of y values is applied only during insertion into the table. Two functions for y-transformation can be provided: a simple transformation which depends only on the y values, or a transformation which takes both (non-transformed) x and y value as an argument. The two-argument transformation is applied before the one-argument transformation.
| xy_table_t::xy_table_t | ( | ) | 
      
  | 
  virtual | 
Return the y-value at the position of the nearest x value below input.
| x | Input value | 
Implements MHATableLookup::table_t.
      
  | 
  virtual | 
Linear interpolation function.
| x | x value | 
Implements MHATableLookup::table_t.
| void xy_table_t::add_entry | ( | mha_real_t | x, | 
| mha_real_t | y | ||
| ) | 
Add a single x-y pair entry.
| x | x value | 
| y | corresponding y value | 
| void xy_table_t::add_entry | ( | mha_real_t * | pVX, | 
| mha_real_t * | pVY, | ||
| unsigned int | uLength | ||
| ) | 
Add multiple entries at once.
| pVX | array of x values | 
| pVY | array of y values | 
| uLength | Length of x and y arrays | 
      
  | 
  virtual | 
Clear the table and transformation functions.
Implements MHATableLookup::table_t.
| void xy_table_t::set_xfun | ( | float(*)(float) | fun | ) | 
Set transformation function for x values.
| fun | Transformation function. | 
| void xy_table_t::set_yfun | ( | float(*)(float) | fun | ) | 
Set transformation function for y values during insertion.
| fun | Transformation function. | 
| void xy_table_t::set_xyfun | ( | float(*)(float, float) | fun | ) | 
Set transformation function for y values during insertion, based on x and y values.
| fun | Transformation function. | 
      
  | 
  inline | 
returns the min and max x of all mesh points that are stored in the lookup table, i.e.
after transformation with xfun, if any. Not real-time safe
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private |