aboutsummaryrefslogtreecommitdiff
path: root/Src/nsutil/iir.h
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/nsutil/iir.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
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