diff options
author | scuri <scuri> | 2009-08-20 12:35:06 +0000 |
---|---|---|
committer | scuri <scuri> | 2009-08-20 12:35:06 +0000 |
commit | 5d735255ddd3cb2f547abd3d03969af3fb7eb04e (patch) | |
tree | 8fb66510bc625bb1b08ccb41f1b83fb0f7cb8f19 /src/fftw3/kernel/krader.c | |
parent | 35733b87eed86e5228f12fa10c98a3d9d22a6073 (diff) |
*** empty log message ***
Diffstat (limited to 'src/fftw3/kernel/krader.c')
-rw-r--r-- | src/fftw3/kernel/krader.c | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/src/fftw3/kernel/krader.c b/src/fftw3/kernel/krader.c deleted file mode 100644 index 354edfc..0000000 --- a/src/fftw3/kernel/krader.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2003 Matteo Frigo - * Copyright (c) 2003 Massachusetts Institute of Technology - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - */ - -#include "ifftw.h" - -/* - common routines for Rader solvers -*/ - - -/* shared twiddle and omega lists, keyed by two/three integers. */ -struct rader_tls { - int k1, k2, k3; - R *W; - int refcnt; - rader_tl *cdr; -}; - -void X(rader_tl_insert)(int k1, int k2, int k3, R *W, rader_tl **tl) -{ - rader_tl *t = (rader_tl *) MALLOC(sizeof(rader_tl), TWIDDLES); - t->k1 = k1; t->k2 = k2; t->k3 = k3; t->W = W; - t->refcnt = 1; t->cdr = *tl; *tl = t; -} - -R *X(rader_tl_find)(int k1, int k2, int k3, rader_tl *t) -{ - while (t && (t->k1 != k1 || t->k2 != k2 || t->k3 != k3)) - t = t->cdr; - if (t) { - ++t->refcnt; - return t->W; - } else - return 0; -} - -void X(rader_tl_delete)(R *W, rader_tl **tl) -{ - if (W) { - rader_tl **tp, *t; - - for (tp = tl; (t = *tp) && t->W != W; tp = &t->cdr) - ; - - if (t && --t->refcnt <= 0) { - *tp = t->cdr; - X(ifree)(t->W); - X(ifree)(t); - } - } -} |