aboutsummaryrefslogtreecommitdiff
path: root/Src/nsutil/iir.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/nsutil/iir.h')
-rw-r--r--Src/nsutil/iir.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/Src/nsutil/iir.h b/Src/nsutil/iir.h
new file mode 100644
index 00000000..3b0d52b3
--- /dev/null
+++ b/Src/nsutil/iir.h
@@ -0,0 +1,32 @@
+#pragma once
+#include <bfc/platform/types.h>
+#include <bfc/platform/export.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef NSUTIL_EXPORTS
+#define NSUTIL_EXPORT __declspec(dllexport)
+#else
+#define NSUTIL_EXPORT __declspec(dllimport)
+#endif
+
+typedef void *nsutil_iir_t;
+
+
+NSUTIL_EXPORT int nsutil_iir_Create_F32(const float *coefficients, int order, nsutil_iir_t *out_iir);
+NSUTIL_EXPORT int nsutil_iir_Reset_F32(nsutil_iir_t *iir);
+NSUTIL_EXPORT int nsutil_iir_Filter_F32_IP(nsutil_iir_t *iir, float *samples, int num_samples);
+NSUTIL_EXPORT int nsutil_iir_Filter_F32(nsutil_iir_t *iir, const float *input, float *output, int num_samples);
+NSUTIL_EXPORT int nsutil_iir_Destroy_F32(nsutil_iir_t *iir);
+
+NSUTIL_EXPORT int nsutil_iir_Create_F64(const double *coefficients, int order, nsutil_iir_t *out_iir);
+NSUTIL_EXPORT int nsutil_iir_Reset_F64(nsutil_iir_t *iir);
+NSUTIL_EXPORT int nsutil_iir_Filter_F64_IP(nsutil_iir_t *iir, double *samples, int num_samples);
+NSUTIL_EXPORT int nsutil_iir_Filter_F64(nsutil_iir_t *iir, const double *input, double *output, int num_samples);
+NSUTIL_EXPORT int nsutil_iir_Destroy_F64(nsutil_iir_t *iir);
+
+#ifdef __cplusplus
+}
+#endif \ No newline at end of file