diff options
Diffstat (limited to 'lanczos~.c')
-rw-r--r-- | lanczos~.c | 25 |
1 files changed, 23 insertions, 2 deletions
@@ -20,14 +20,35 @@ */ #include "m_pd.h" -#include "windowFunctions.h" #include <stdlib.h> -#ifdef NT +#include <math.h> + +#ifdef _WIN32 +#define M_PI 3.14159265358979323846 +#endif + +#ifdef _MSC_VER #pragma warning( disable : 4244 ) #pragma warning( disable : 4305 ) #endif + #define DEFBLOCKSIZE 64 +void fillLanczos(float *vec, int n) { + int i; + float xShift = (float)n / 2; + float x; + for (i = 0; i < n; i++) { + x = (i - xShift) / xShift; + if (x == 0) { + vec[i] = 1; + } + else { + vec[i] = (float)(sin(M_PI * x) / (M_PI * x)); + } + } +} + static t_class *lanczos_class; typedef struct _lanczos { |