iir.h 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include <bfc/platform/types.h>
  3. #include <bfc/platform/export.h>
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #ifdef NSUTIL_EXPORTS
  8. #define NSUTIL_EXPORT __declspec(dllexport)
  9. #else
  10. #define NSUTIL_EXPORT __declspec(dllimport)
  11. #endif
  12. typedef void *nsutil_iir_t;
  13. NSUTIL_EXPORT int nsutil_iir_Create_F32(const float *coefficients, int order, nsutil_iir_t *out_iir);
  14. NSUTIL_EXPORT int nsutil_iir_Reset_F32(nsutil_iir_t *iir);
  15. NSUTIL_EXPORT int nsutil_iir_Filter_F32_IP(nsutil_iir_t *iir, float *samples, int num_samples);
  16. NSUTIL_EXPORT int nsutil_iir_Filter_F32(nsutil_iir_t *iir, const float *input, float *output, int num_samples);
  17. NSUTIL_EXPORT int nsutil_iir_Destroy_F32(nsutil_iir_t *iir);
  18. NSUTIL_EXPORT int nsutil_iir_Create_F64(const double *coefficients, int order, nsutil_iir_t *out_iir);
  19. NSUTIL_EXPORT int nsutil_iir_Reset_F64(nsutil_iir_t *iir);
  20. NSUTIL_EXPORT int nsutil_iir_Filter_F64_IP(nsutil_iir_t *iir, double *samples, int num_samples);
  21. NSUTIL_EXPORT int nsutil_iir_Filter_F64(nsutil_iir_t *iir, const double *input, double *output, int num_samples);
  22. NSUTIL_EXPORT int nsutil_iir_Destroy_F64(nsutil_iir_t *iir);
  23. #ifdef __cplusplus
  24. }
  25. #endif