summaryrefslogtreecommitdiffstats
path: root/Src/nsutil/iir.h
blob: 3b0d52b3ebd2eb62484ce7ed983f40d6968467c0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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