Fixes for building on windows
This commit is contained in:
parent
95f0a19391
commit
7cac0249a1
203
3rdparty/oourafft/fftsg2d.cc
vendored
203
3rdparty/oourafft/fftsg2d.cc
vendored
@ -366,8 +366,6 @@ macro definitions
|
||||
.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#define fft2d_alloc_error_check(p) \
|
||||
@ -418,8 +416,7 @@ macro definitions
|
||||
#define fft2d_thread_create(thp, func, argp) \
|
||||
{ \
|
||||
DWORD thid; \
|
||||
*(thp) = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)(func), \
|
||||
(LPVOID)(argp), 0, &thid); \
|
||||
*(thp) = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)(func), (LPVOID)(argp), 0, &thid); \
|
||||
if (*(thp) == 0) { \
|
||||
fprintf(stderr, "fft2d thread error\n"); \
|
||||
exit(1); \
|
||||
@ -436,19 +433,28 @@ macro definitions
|
||||
|
||||
NEXTPNR_NAMESPACE_BEGIN
|
||||
|
||||
void ddct(int n, int isgn, float *a, int *ip, float *w);
|
||||
void ddst(int n, int isgn, float *a, int *ip, float *w);
|
||||
void cdft(int n, int isgn, float *a, int *ip, float *w);
|
||||
void *cdft2d_th(void *p);
|
||||
void *ddxt2d0_th(void *p);
|
||||
void *ddxt2d_th(void *p);
|
||||
void rdft(int n, int isgn, float *a, int *ip, float *w);
|
||||
void makewt(int nw, int *ip, float *w);
|
||||
void cdft2d_sub(int n1, int n2, int isgn, float **a, float *t, int *ip, float *w);
|
||||
void makect(int nc, int *ip, float *c);
|
||||
void rdft2d_sub(int n1, int isgn, float **a);
|
||||
void ddxt2d_sub(int n1, int n2, int ics, int isgn, float **a, float *t, int *ip, float *w);
|
||||
|
||||
#ifdef USE_FFT2D_THREADS
|
||||
void xdft2d0_subth(int n1, int n2, int icr, int isgn, float **a, int *ip, float *w);
|
||||
void cdft2d_subth(int n1, int n2, int isgn, float **a, float *t, int *ip, float *w);
|
||||
void ddxt2d0_subth(int n1, int n2, int ics, int isgn, float **a, int *ip, float *w);
|
||||
void ddxt2d_subth(int n1, int n2, int ics, int isgn, float **a, float *t, int *ip, float *w);
|
||||
#endif /* USE_FFT2D_THREADS */
|
||||
|
||||
void cdft2d(int n1, int n2, int isgn, float **a, float *t, int *ip, float *w)
|
||||
{
|
||||
void makewt(int nw, int* ip, float* w);
|
||||
void cdft(int n, int isgn, float* a, int* ip, float* w);
|
||||
void cdft2d_sub(
|
||||
int n1, int n2, int isgn, float** a, float* t, int* ip, float* w);
|
||||
#ifdef USE_FFT2D_THREADS
|
||||
void xdft2d0_subth(
|
||||
int n1, int n2, int icr, int isgn, float** a, int* ip, float* w);
|
||||
void cdft2d_subth(
|
||||
int n1, int n2, int isgn, float** a, float* t, int* ip, float* w);
|
||||
#endif /* USE_FFT2D_THREADS */
|
||||
int n, itnull, nthread, nt, i;
|
||||
|
||||
n = n1 << 1;
|
||||
@ -493,18 +499,6 @@ void cdft2d(int n1, int n2, int isgn, float** a, float* t, int* ip, float* w)
|
||||
|
||||
void rdft2d(int n1, int n2, int isgn, float **a, float *t, int *ip, float *w)
|
||||
{
|
||||
void makewt(int nw, int* ip, float* w);
|
||||
void makect(int nc, int* ip, float* c);
|
||||
void rdft(int n, int isgn, float* a, int* ip, float* w);
|
||||
void cdft2d_sub(
|
||||
int n1, int n2, int isgn, float** a, float* t, int* ip, float* w);
|
||||
void rdft2d_sub(int n1, int isgn, float** a);
|
||||
#ifdef USE_FFT2D_THREADS
|
||||
void xdft2d0_subth(
|
||||
int n1, int n2, int icr, int isgn, float** a, int* ip, float* w);
|
||||
void cdft2d_subth(
|
||||
int n1, int n2, int isgn, float** a, float* t, int* ip, float* w);
|
||||
#endif /* USE_FFT2D_THREADS */
|
||||
int n, nw, nc, itnull, nthread, nt, i;
|
||||
|
||||
n = n1 << 1;
|
||||
@ -603,30 +597,6 @@ void rdft2dsort(int n1, int n2, int isgn, float** a)
|
||||
|
||||
void ddcst2d(int n1, int n2, int isgn, float **a, float *t, int *ip, float *w)
|
||||
{
|
||||
void makewt(int nw, int* ip, float* w);
|
||||
void makect(int nc, int* ip, float* c);
|
||||
void ddct(int n, int isgn, float* a, int* ip, float* w);
|
||||
void ddst(int n, int isgn, float* a, int* ip, float* w);
|
||||
void ddxt2d_sub(int n1,
|
||||
int n2,
|
||||
int ics,
|
||||
int isgn,
|
||||
float** a,
|
||||
float* t,
|
||||
int* ip,
|
||||
float* w);
|
||||
#ifdef USE_FFT2D_THREADS
|
||||
void ddxt2d0_subth(
|
||||
int n1, int n2, int ics, int isgn, float** a, int* ip, float* w);
|
||||
void ddxt2d_subth(int n1,
|
||||
int n2,
|
||||
int ics,
|
||||
int isgn,
|
||||
float** a,
|
||||
float* t,
|
||||
int* ip,
|
||||
float* w);
|
||||
#endif /* USE_FFT2D_THREADS */
|
||||
int n, nw, nc, itnull, nthread, nt, i;
|
||||
|
||||
n = n1;
|
||||
@ -678,30 +648,6 @@ void ddcst2d(int n1, int n2, int isgn, float** a, float* t, int* ip, float* w)
|
||||
|
||||
void ddsct2d(int n1, int n2, int isgn, float **a, float *t, int *ip, float *w)
|
||||
{
|
||||
void makewt(int nw, int* ip, float* w);
|
||||
void makect(int nc, int* ip, float* c);
|
||||
void ddct(int n, int isgn, float* a, int* ip, float* w);
|
||||
void ddst(int n, int isgn, float* a, int* ip, float* w);
|
||||
void ddxt2d_sub(int n1,
|
||||
int n2,
|
||||
int ics,
|
||||
int isgn,
|
||||
float** a,
|
||||
float* t,
|
||||
int* ip,
|
||||
float* w);
|
||||
#ifdef USE_FFT2D_THREADS
|
||||
void ddxt2d0_subth(
|
||||
int n1, int n2, int ics, int isgn, float** a, int* ip, float* w);
|
||||
void ddxt2d_subth(int n1,
|
||||
int n2,
|
||||
int ics,
|
||||
int isgn,
|
||||
float** a,
|
||||
float* t,
|
||||
int* ip,
|
||||
float* w);
|
||||
#endif /* USE_FFT2D_THREADS */
|
||||
int n, nw, nc, itnull, nthread, nt, i;
|
||||
|
||||
n = n1;
|
||||
@ -753,29 +699,6 @@ void ddsct2d(int n1, int n2, int isgn, float** a, float* t, int* ip, float* w)
|
||||
|
||||
void ddct2d(int n1, int n2, int isgn, float **a, float *t, int *ip, float *w)
|
||||
{
|
||||
void makewt(int nw, int* ip, float* w);
|
||||
void makect(int nc, int* ip, float* c);
|
||||
void ddct(int n, int isgn, float* a, int* ip, float* w);
|
||||
void ddxt2d_sub(int n1,
|
||||
int n2,
|
||||
int ics,
|
||||
int isgn,
|
||||
float** a,
|
||||
float* t,
|
||||
int* ip,
|
||||
float* w);
|
||||
#ifdef USE_FFT2D_THREADS
|
||||
void ddxt2d0_subth(
|
||||
int n1, int n2, int ics, int isgn, float** a, int* ip, float* w);
|
||||
void ddxt2d_subth(int n1,
|
||||
int n2,
|
||||
int ics,
|
||||
int isgn,
|
||||
float** a,
|
||||
float* t,
|
||||
int* ip,
|
||||
float* w);
|
||||
#endif /* USE_FFT2D_THREADS */
|
||||
int n, nw, nc, itnull, nthread, nt, i;
|
||||
|
||||
n = n1;
|
||||
@ -827,29 +750,6 @@ void ddct2d(int n1, int n2, int isgn, float** a, float* t, int* ip, float* w)
|
||||
|
||||
void ddst2d(int n1, int n2, int isgn, float **a, float *t, int *ip, float *w)
|
||||
{
|
||||
void makewt(int nw, int* ip, float* w);
|
||||
void makect(int nc, int* ip, float* c);
|
||||
void ddst(int n, int isgn, float* a, int* ip, float* w);
|
||||
void ddxt2d_sub(int n1,
|
||||
int n2,
|
||||
int ics,
|
||||
int isgn,
|
||||
float** a,
|
||||
float* t,
|
||||
int* ip,
|
||||
float* w);
|
||||
#ifdef USE_FFT2D_THREADS
|
||||
void ddxt2d0_subth(
|
||||
int n1, int n2, int ics, int isgn, float** a, int* ip, float* w);
|
||||
void ddxt2d_subth(int n1,
|
||||
int n2,
|
||||
int ics,
|
||||
int isgn,
|
||||
float** a,
|
||||
float* t,
|
||||
int* ip,
|
||||
float* w);
|
||||
#endif /* USE_FFT2D_THREADS */
|
||||
int n, nw, nc, itnull, nthread, nt, i;
|
||||
|
||||
n = n1;
|
||||
@ -901,15 +801,8 @@ void ddst2d(int n1, int n2, int isgn, float** a, float* t, int* ip, float* w)
|
||||
|
||||
/* -------- child routines -------- */
|
||||
|
||||
void cdft2d_sub(int n1,
|
||||
int n2,
|
||||
int isgn,
|
||||
float** a,
|
||||
float* t,
|
||||
int* ip,
|
||||
float* w)
|
||||
void cdft2d_sub(int n1, int n2, int isgn, float **a, float *t, int *ip, float *w)
|
||||
{
|
||||
void cdft(int n, int isgn, float* a, int* ip, float* w);
|
||||
int i, j;
|
||||
|
||||
if (n2 > 4) {
|
||||
@ -994,17 +887,8 @@ void rdft2d_sub(int n1, int isgn, float** a)
|
||||
}
|
||||
}
|
||||
|
||||
void ddxt2d_sub(int n1,
|
||||
int n2,
|
||||
int ics,
|
||||
int isgn,
|
||||
float** a,
|
||||
float* t,
|
||||
int* ip,
|
||||
float* w)
|
||||
void ddxt2d_sub(int n1, int n2, int ics, int isgn, float **a, float *t, int *ip, float *w)
|
||||
{
|
||||
void ddct(int n, int isgn, float* a, int* ip, float* w);
|
||||
void ddst(int n, int isgn, float* a, int* ip, float* w);
|
||||
int i, j;
|
||||
|
||||
if (n2 > 2) {
|
||||
@ -1068,13 +952,7 @@ struct fft2d_arg_st
|
||||
};
|
||||
typedef struct fft2d_arg_st fft2d_arg_t;
|
||||
|
||||
void xdft2d0_subth(int n1,
|
||||
int n2,
|
||||
int icr,
|
||||
int isgn,
|
||||
float** a,
|
||||
int* ip,
|
||||
float* w)
|
||||
void xdft2d0_subth(int n1, int n2, int icr, int isgn, float **a, int *ip, float *w)
|
||||
{
|
||||
void *xdft2d0_th(void *p);
|
||||
fft2d_thread_t th[FFT2D_MAX_THREADS];
|
||||
@ -1102,15 +980,8 @@ void xdft2d0_subth(int n1,
|
||||
}
|
||||
}
|
||||
|
||||
void cdft2d_subth(int n1,
|
||||
int n2,
|
||||
int isgn,
|
||||
float** a,
|
||||
float* t,
|
||||
int* ip,
|
||||
float* w)
|
||||
void cdft2d_subth(int n1, int n2, int isgn, float **a, float *t, int *ip, float *w)
|
||||
{
|
||||
void* cdft2d_th(void* p);
|
||||
fft2d_thread_t th[FFT2D_MAX_THREADS];
|
||||
fft2d_arg_t ag[FFT2D_MAX_THREADS];
|
||||
int nthread, nt, i;
|
||||
@ -1140,15 +1011,8 @@ void cdft2d_subth(int n1,
|
||||
}
|
||||
}
|
||||
|
||||
void ddxt2d0_subth(int n1,
|
||||
int n2,
|
||||
int ics,
|
||||
int isgn,
|
||||
float** a,
|
||||
int* ip,
|
||||
float* w)
|
||||
void ddxt2d0_subth(int n1, int n2, int ics, int isgn, float **a, int *ip, float *w)
|
||||
{
|
||||
void* ddxt2d0_th(void* p);
|
||||
fft2d_thread_t th[FFT2D_MAX_THREADS];
|
||||
fft2d_arg_t ag[FFT2D_MAX_THREADS];
|
||||
int nthread, i;
|
||||
@ -1174,16 +1038,8 @@ void ddxt2d0_subth(int n1,
|
||||
}
|
||||
}
|
||||
|
||||
void ddxt2d_subth(int n1,
|
||||
int n2,
|
||||
int ics,
|
||||
int isgn,
|
||||
float** a,
|
||||
float* t,
|
||||
int* ip,
|
||||
float* w)
|
||||
void ddxt2d_subth(int n1, int n2, int ics, int isgn, float **a, float *t, int *ip, float *w)
|
||||
{
|
||||
void* ddxt2d_th(void* p);
|
||||
fft2d_thread_t th[FFT2D_MAX_THREADS];
|
||||
fft2d_arg_t ag[FFT2D_MAX_THREADS];
|
||||
int nthread, nt, i;
|
||||
@ -1216,8 +1072,6 @@ void ddxt2d_subth(int n1,
|
||||
|
||||
void *xdft2d0_th(void *p)
|
||||
{
|
||||
void cdft(int n, int isgn, float* a, int* ip, float* w);
|
||||
void rdft(int n, int isgn, float* a, int* ip, float* w);
|
||||
int nthread, n0, n1, n2, icr, isgn, *ip, i;
|
||||
float **a, *w;
|
||||
|
||||
@ -1244,7 +1098,6 @@ void* xdft2d0_th(void* p)
|
||||
|
||||
void *cdft2d_th(void *p)
|
||||
{
|
||||
void cdft(int n, int isgn, float* a, int* ip, float* w);
|
||||
int nthread, n0, n1, n2, isgn, *ip, i, j;
|
||||
float **a, *t, *w;
|
||||
|
||||
@ -1315,8 +1168,6 @@ void* cdft2d_th(void* p)
|
||||
|
||||
void *ddxt2d0_th(void *p)
|
||||
{
|
||||
void ddct(int n, int isgn, float* a, int* ip, float* w);
|
||||
void ddst(int n, int isgn, float* a, int* ip, float* w);
|
||||
int nthread, n0, n1, n2, ics, isgn, *ip, i;
|
||||
float **a, *w;
|
||||
|
||||
@ -1343,8 +1194,6 @@ void* ddxt2d0_th(void* p)
|
||||
|
||||
void *ddxt2d_th(void *p)
|
||||
{
|
||||
void ddct(int n, int isgn, float* a, int* ip, float* w);
|
||||
void ddst(int n, int isgn, float* a, int* ip, float* w);
|
||||
int nthread, n0, n1, n2, ics, isgn, *ip, i, j;
|
||||
float **a, *t, *w;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user