Skip to content

File interp_table_core.h

File List > inc > interp_table > interp_table_core.h

Go to the documentation of this file

#ifndef INTERP_TABLE_CORE_H
#define INTERP_TABLE_CORE_H

#include "clib_common.h"
#include "jm_perf.h"
#ifdef __cplusplus
extern "C"
{
#endif

  typedef struct
  {
    double _Complex *table;  
    size_t          n;      
    int             method; 
  } interp_table_state_t;

  interp_table_state_t *interp_table_create (const double _Complex *table,
                                             size_t table_len, int method);

  void interp_table_destroy (interp_table_state_t *state);

  void interp_table_reset (interp_table_state_t *state);

  size_t interp_table_execute_max_out (interp_table_state_t *state);

  size_t interp_table_execute (interp_table_state_t *state, const double *in,
                               size_t n_in, double _Complex *out,
                               size_t max_out);

#ifdef __cplusplus
}
#endif

#endif /* INTERP_TABLE_CORE_H */