Coverage Report

Created: 2025-07-23 07:03

/src/fftw3/api/plan-many-dft.c
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (c) 2003, 2007-14 Matteo Frigo
3
 * Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
4
 *
5
 * This program is free software; you can redistribute it and/or modify
6
 * it under the terms of the GNU General Public License as published by
7
 * the Free Software Foundation; either version 2 of the License, or
8
 * (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
18
 *
19
 */
20
21
#include "api/api.h"
22
#include "dft/dft.h"
23
24
566
#define N0(nembed)((nembed) ? (nembed) : n)
25
26
X(plan) X(plan_many_dft)(int rank, const int *n,
27
       int howmany,
28
       C *in, const int *inembed,
29
       int istride, int idist,
30
       C *out, const int *onembed,
31
       int ostride, int odist, int sign, unsigned flags)
32
283
{
33
283
     R *ri, *ii, *ro, *io;
34
35
283
     if (!X(many_kosherp)(rank, n, howmany)) return 0;
36
37
283
     EXTRACT_REIM(sign, in, &ri, &ii);
38
283
     EXTRACT_REIM(sign, out, &ro, &io);
39
40
283
     return 
41
283
    X(mkapiplan)(sign, flags,
42
283
           X(mkproblem_dft_d)(
43
283
          X(mktensor_rowmajor)(rank, n, 
44
283
             N0(inembed), N0(onembed),
45
283
             2 * istride, 2 * ostride),
46
283
          X(mktensor_1d)(howmany, 2 * idist, 2 * odist),
47
283
          TAINT_UNALIGNED(ri, flags),
48
283
          TAINT_UNALIGNED(ii, flags),
49
283
          TAINT_UNALIGNED(ro, flags),
50
283
          TAINT_UNALIGNED(io, flags)));
51
283
}