Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
MPAI-Private
MPAI-CAE
eae
Commits
2ad915e8
Commit
2ad915e8
authored
Jun 21, 2022
by
Mert Burkay Çöteli
Browse files
AIM integration 220621
parent
adc6521c
Changes
102
Hide whitespace changes
Inline
Side-by-side
AnalysisTransform/main.cpp
deleted
100644 → 0
View file @
adc6521c
#include
"analysistransform.h"
int
main
()
{
analysistransform
*
m_fft
=
new
analysistransform
();
return
0
;
}
SoundFieldDescription/soundfielddescription.cpp
0 → 100644
View file @
2ad915e8
#include
"soundfielddescription.h"
soundfielddescription
::
soundfielddescription
(
string
json_textaddress
)
{
}
void
*
soundfielddescription
::
calcsphericalharmonics
(
double
*
pressure_real_in
,
double
*
pressure_imag_in
,
double
*
shd_realpart_out
,
double
*
shd_imagpart_out
)
{
int
nof_sph
=
(
int
)(
pow
(
SHDorder
+
1
,
2
));
for
(
int
sn
=
0
;
sn
<
nofsamples
;
sn
++
)
{
//malloc with zero valued spherical harmonics
complex
<
double
>*
sph_harmonics
=
(
complex
<
double
>*
)
calloc
(
nof_sph
,
sizeof
(
complex
<
double
>
));
//SHD computation according to the recording microphones
for
(
int
ml
=
0
;
ml
<
nofmicrophones
;
ml
++
)
{
// get the microphone coordinates in theta/phi
model
::
point
<
double
,
2
,
cs
::
spherical
<
radian
>
>
p1
((
*
(
micanglestheta
+
ml
)
*
PI
/
180
),
(
*
(
micanglesphi
+
ml
)
*
PI
/
180
));
int
counter
=
0
;
// SHD calculations according to the spherical harmonics
for
(
int
sph_n
=
0
;
sph_n
<=
SHDorder
;
sph_n
++
)
{
for
(
int
sph_m
=
((
-
1
)
*
sph_n
);
sph_m
<=
sph_n
;
sph_m
++
)
{
complex
<
double
>
calcharmonic_conj
=
conj
((
complex
<
double
>
)
boost
::
math
::
spherical_harmonic
(
sph_n
,
sph_m
,
get
<
0
>
(
p1
),
get
<
1
>
(
p1
)));
*
(
sph_harmonics
+
counter
)
+=
complex
<
double
>
(
pressure_real_in
[
sn
*
nofmicrophones
+
ml
],
pressure_imag_in
[
sn
*
nofmicrophones
+
ml
])
*
calcharmonic_conj
;
shd_realpart_out
[
sn
*
nof_sph
+
counter
]
=
sph_harmonics
[
counter
].
real
();
shd_imagpart_out
[
sn
*
nof_sph
+
counter
]
=
sph_harmonics
[
counter
].
imag
();
counter
++
;
}
}
}
}
return
0
;
}
\ No newline at end of file
SoundFieldDescription/soundfielddescription.h
0 → 100644
View file @
2ad915e8
#pragma once
#ifndef Q_MOC_RUN
#include
"boost/geometry.hpp"
#endif
#include
"boost/math/special_functions/bessel.hpp"
#include
"boost/math/special_functions/bessel_prime.hpp"
#include
"boost/math/special_functions/legendre.hpp"
#include
"boost/math/special_functions/hankel.hpp"
#include
"boost/math/special_functions/spherical_harmonic.hpp"
#include
"boost/variant/get.hpp"
#define SHDorder 1
#define PI 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068
using
namespace
std
;
using
namespace
boost
::
geometry
;
using
namespace
boost
::
math
;
class
soundfielddescription
{
public:
soundfielddescription
(
string
json_textaddress
);
void
*
calcsphericalharmonics
(
double
*
pressure_real_in
,
double
*
pressure_imag_in
,
double
*
shd_realpart_out
,
double
*
shd_imagpart_out
);
private:
float
*
micanglestheta
;
float
*
micanglesphi
;
int
nofmicrophones
;
int
nofsamples
;
};
SynthesisTransform/ReadMe
0 → 100644
View file @
2ad915e8
###############################Introduction##################################################
Synthesis tranform is an AIM that is used for transferring the time-frequency domain interleaved microphone array signals into the time domain.
IN:
realpart : fft_real[0] to fft_real[N/2 -1]
imagpart : imagpart[0] to imagpart[N/2 -1]
OUT:
Signal : x[0] to x[signalLength - 1]
###############################Windows (x64) Installation##################################################
#include \include directory
-------Debug--------
libs \libs\Windows_x64\Debug\fftw3.lib
-------Release--------
libs \libs\Windows_x64\Release\fftw3.lib
###############################Windows (x86) Installation##################################################
#include \include directory
-------Debug--------
libs
-------Release--------
libs
###############################Linux Installation##################################################
#include \include directory
-------Debug--------
libs
-------Release--------
libs
###############################Standalone usage of this AIM (code script)##################################################
// For analysis of interleaved Nofchannelsx10240 samples with fftsize=2048 and overlap=1024
// The output will be Interleaved Nofchannelsx20480 in real numbers.
// Input and output data formats can be followed from MPAI-CAE v1.3
synthesistransform* m_fft = new synthesistransform();
float* signal; // Interleaved data output
float* realpart; // Real part to be malloc
float* imagpart; // Imaginary part to be malloc
m_fft->IFFT(signal, realpart, imagpart);
SynthesisTransform/include/Makefile.am
0 → 100644
View file @
2ad915e8
AM_CPPFLAGS
=
-I
$(top_srcdir)
AM_CFLAGS
=
$(STACK_ALIGN_CFLAGS)
EXTRA_DIST
=
f03api.sh genf03.pl fftw3.f03.in
include_HEADERS
=
fftw3.h fftw3.f fftw3l.f03 fftw3q.f03
nodist_include_HEADERS
=
fftw3.f03
noinst_LTLIBRARIES
=
libapi.la
libapi_la_SOURCES
=
apiplan.c configure.c execute-dft-c2r.c
\
execute-dft-r2c.c execute-dft.c execute-r2r.c execute-split-dft-c2r.c
\
execute-split-dft-r2c.c execute-split-dft.c execute.c
\
export-wisdom-to-file.c export-wisdom-to-string.c export-wisdom.c
\
f77api.c flops.c forget-wisdom.c import-system-wisdom.c
\
import-wisdom-from-file.c import-wisdom-from-string.c import-wisdom.c
\
malloc.c map-r2r-kind.c mapflags.c mkprinter-file.c mkprinter-str.c
\
mktensor-iodims.c mktensor-rowmajor.c plan-dft-1d.c plan-dft-2d.c
\
plan-dft-3d.c plan-dft-c2r-1d.c plan-dft-c2r-2d.c plan-dft-c2r-3d.c
\
plan-dft-c2r.c plan-dft-r2c-1d.c plan-dft-r2c-2d.c plan-dft-r2c-3d.c
\
plan-dft-r2c.c plan-dft.c plan-guru-dft-c2r.c plan-guru-dft-r2c.c
\
plan-guru-dft.c plan-guru-r2r.c plan-guru-split-dft-c2r.c
\
plan-guru-split-dft-r2c.c plan-guru-split-dft.c plan-many-dft-c2r.c
\
plan-many-dft-r2c.c plan-many-dft.c plan-many-r2r.c plan-r2r-1d.c
\
plan-r2r-2d.c plan-r2r-3d.c plan-r2r.c print-plan.c rdft2-pad.c
\
the-planner.c version.c api.h f77funcs.h fftw3.h x77.h guru.h
\
guru64.h mktensor-iodims.h plan-guru-dft-c2r.h plan-guru-dft-r2c.h
\
plan-guru-dft.h plan-guru-r2r.h plan-guru-split-dft-c2r.h
\
plan-guru-split-dft-r2c.h plan-guru-split-dft.h plan-guru64-dft-c2r.c
\
plan-guru64-dft-r2c.c plan-guru64-dft.c plan-guru64-r2r.c
\
plan-guru64-split-dft-c2r.c plan-guru64-split-dft-r2c.c
\
plan-guru64-split-dft.c mktensor-iodims64.c
BUILT_SOURCES
=
fftw3.f fftw3.f03.in fftw3.f03 fftw3l.f03 fftw3q.f03
CLEANFILES
=
fftw3.f03
fftw3.f03
:
fftw3.f03.in
(
echo
"! Generated automatically. DO NOT EDIT!"
;
echo
;
\
echo
" integer, parameter :: C_FFTW_R2R_KIND = @C_FFTW_R2R_KIND@"
;
\
grep
-v
"Generated automatically"
$(srcdir)
/fftw3.f03.in
)
>
$@
if
MAINTAINER_MODE
# convert constants to F77 PARAMETER statements
fftw3.f
:
fftw3.h
rm
-f
$@
perl
-pe
's/([A-Z0-9_]+)=([+-]?[0-9]+)/\n INTEGER \1\n PARAMETER (\1=\2)\n/g'
$<
|egrep
'PARAMETER|INTEGER'
>
$@
perl
-pe
's/#define +([A-Z0-9_]+) +\(([+-]?[0-9]+)U?\)/\n INTEGER \1\n PARAMETER (\1=\2)\n/g'
$<
|egrep
'PARAMETER|INTEGER'
>>
$@
perl
-pe
'if (/#define +([A-Z0-9_]+) +\(([0-9]+)U? *<< *([0-9]+)\)/) { print "\n INTEGER $$1\n PARAMETER ($$1=",$$2 << $$3,")\n"; }'
$<
|egrep
'PARAMETER|INTEGER'
>>
$@
fftw3.f03.in
:
fftw3.h f03api.sh genf03.pl
sh
$(srcdir)
/f03api.sh d f
>
$@
fftw3l.f03
:
fftw3.h f03api.sh genf03.pl
sh
$(srcdir)
/f03api.sh l |
grep
-v
parameter
>
$@
fftw3q.f03
:
fftw3.h f03api.sh genf03.pl
sh
$(srcdir)
/f03api.sh q |
grep
-v
parameter
>
$@
endif
# MAINTAINER_MODE
SynthesisTransform/include/Makefile.in
0 → 100644
View file @
2ad915e8
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH
=
@srcdir@
am__is_gnu_make
=
{
\
if
test
-z
'
$(MAKELEVEL)
'
;
then
\
false
;
\
elif
test
-n
'
$(MAKE_HOST)
'
;
then
\
true
;
\
elif
test
-n
'
$(MAKE_VERSION)
'
&&
test
-n
'
$(CURDIR)
'
;
then
\
true
;
\
else
\
false
;
\
fi
;
\
}
am__make_running_with_option
=
\
case
$
${
target_option
-
}
in
\
?
)
;;
\
*
)
echo
"am__make_running_with_option: internal error: invalid"
\
"target option '
$
${
target_option
-
}
' specified"
>
&2
;
\
exit
1
;;
\
esac
;
\
has_opt
=
no
;
\
sane_makeflags
=
$$
MAKEFLAGS
;
\
if
$(am__is_gnu_make)
;
then
\
sane_makeflags
=
$$
MFLAGS
;
\
else
\
case
$$
MAKEFLAGS
in
\
*
\\
[
\ \
]
*
)
\
bs
=
\\
;
\
sane_makeflags
=
`
printf
'%s\n'
"
$$
MAKEFLAGS"
\
|
sed
"s/
$$
bs
$$
bs[
$$
bs
$$
bs ]*//g"
`
;;
\
esac
;
\
fi
;
\
skip_next
=
no
;
\
strip_trailopt
()
\
{
\
flg
=
`
printf
'%s\n'
"
$$
flg"
|
sed
"s/
$$
1.*
$$
//"
`
;
\
}
;
\
for
flg
in
$$
sane_makeflags
;
do
\
test
$$
skip_next
=
yes
&&
{
skip_next
=
no
;
continue
;
}
;
\
case
$$
flg
in
\
*
=
*
|
--
*
)
continue
;;
\
-
*
I
)
strip_trailopt
'I'
;
skip_next
=
yes
;;
\
-
*
I?
*
)
strip_trailopt
'I'
;;
\
-
*
O
)
strip_trailopt
'O'
;
skip_next
=
yes
;;
\
-
*
O?
*
)
strip_trailopt
'O'
;;
\
-
*
l
)
strip_trailopt
'l'
;
skip_next
=
yes
;;
\
-
*
l?
*
)
strip_trailopt
'l'
;;
\
-[dEDm]
)
skip_next
=
yes
;;
\
-[JT]
)
skip_next
=
yes
;;
\
esac
;
\
case
$$
flg
in
\
*
$$
target_option
*
)
has_opt
=
yes
;
break
;;
\
esac
;
\
done
;
\
test
$$
has_opt
=
yes
am__make_dryrun
=
(
target_option
=
n
;
$(am__make_running_with_option)
)
am__make_keepgoing
=
(
target_option
=
k
;
$(am__make_running_with_option)
)
pkgdatadir
=
$(datadir)
/@PACKAGE@
pkgincludedir
=
$(includedir)
/@PACKAGE@
pkglibdir
=
$(libdir)
/@PACKAGE@
pkglibexecdir
=
$(libexecdir)
/@PACKAGE@
am__cd
=
CDPATH
=
"
$
${
ZSH_VERSION
+.
}
$(PATH_SEPARATOR)
"
&&
cd
install_sh_DATA
=
$(install_sh)
-c
-m
644
install_sh_PROGRAM
=
$(install_sh)
-c
install_sh_SCRIPT
=
$(install_sh)
-c
INSTALL_HEADER
=
$(INSTALL_DATA)
transform
=
$(program_transform_name)
NORMAL_INSTALL
=
:
PRE_INSTALL
=
:
POST_INSTALL
=
:
NORMAL_UNINSTALL
=
:
PRE_UNINSTALL
=
:
POST_UNINSTALL
=
:
build_triplet
=
@build@
host_triplet
=
@host@
subdir
=
api
ACLOCAL_M4
=
$(top_srcdir)
/aclocal.m4
am__aclocal_m4_deps
=
$(top_srcdir)
/m4/acx_mpi.m4
\
$(top_srcdir)
/m4/acx_pthread.m4
\
$(top_srcdir)
/m4/ax_cc_maxopt.m4
\
$(top_srcdir)
/m4/ax_check_compiler_flags.m4
\
$(top_srcdir)
/m4/ax_compiler_vendor.m4
\
$(top_srcdir)
/m4/ax_gcc_aligns_stack.m4
\
$(top_srcdir)
/m4/ax_gcc_version.m4
\
$(top_srcdir)
/m4/ax_openmp.m4
$(top_srcdir)
/m4/libtool.m4
\
$(top_srcdir)
/m4/ltoptions.m4
$(top_srcdir)
/m4/ltsugar.m4
\
$(top_srcdir)
/m4/ltversion.m4
$(top_srcdir)
/m4/lt~obsolete.m4
\
$(top_srcdir)
/configure.ac
am__configure_deps
=
$(am__aclocal_m4_deps)
$(CONFIGURE_DEPENDENCIES)
\
$(ACLOCAL_M4)
DIST_COMMON
=
$(srcdir)
/Makefile.am
$(include_HEADERS)
\
$(am__DIST_COMMON)
mkinstalldirs
=
$(install_sh)
-d
CONFIG_HEADER
=
$(top_builddir)
/config.h
CONFIG_CLEAN_FILES
=
CONFIG_CLEAN_VPATH_FILES
=
LTLIBRARIES
=
$(noinst_LTLIBRARIES)
libapi_la_LIBADD
=
am_libapi_la_OBJECTS
=
apiplan.lo configure.lo execute-dft-c2r.lo
\
execute-dft-r2c.lo execute-dft.lo execute-r2r.lo
\
execute-split-dft-c2r.lo execute-split-dft-r2c.lo
\
execute-split-dft.lo execute.lo export-wisdom-to-file.lo
\
export-wisdom-to-string.lo export-wisdom.lo f77api.lo flops.lo
\
forget-wisdom.lo import-system-wisdom.lo
\
import-wisdom-from-file.lo import-wisdom-from-string.lo
\
import-wisdom.lo malloc.lo map-r2r-kind.lo mapflags.lo
\
mkprinter-file.lo mkprinter-str.lo mktensor-iodims.lo
\
mktensor-rowmajor.lo plan-dft-1d.lo plan-dft-2d.lo
\
plan-dft-3d.lo plan-dft-c2r-1d.lo plan-dft-c2r-2d.lo
\
plan-dft-c2r-3d.lo plan-dft-c2r.lo plan-dft-r2c-1d.lo
\
plan-dft-r2c-2d.lo plan-dft-r2c-3d.lo plan-dft-r2c.lo
\
plan-dft.lo plan-guru-dft-c2r.lo plan-guru-dft-r2c.lo
\
plan-guru-dft.lo plan-guru-r2r.lo plan-guru-split-dft-c2r.lo
\
plan-guru-split-dft-r2c.lo plan-guru-split-dft.lo
\
plan-many-dft-c2r.lo plan-many-dft-r2c.lo plan-many-dft.lo
\
plan-many-r2r.lo plan-r2r-1d.lo plan-r2r-2d.lo plan-r2r-3d.lo
\
plan-r2r.lo print-plan.lo rdft2-pad.lo the-planner.lo
\
version.lo plan-guru64-dft-c2r.lo plan-guru64-dft-r2c.lo
\
plan-guru64-dft.lo plan-guru64-r2r.lo
\
plan-guru64-split-dft-c2r.lo plan-guru64-split-dft-r2c.lo
\
plan-guru64-split-dft.lo mktensor-iodims64.lo
libapi_la_OBJECTS
=
$(am_libapi_la_OBJECTS)
AM_V_lt
=
$
(
am__v_lt_@AM_V@
)
am__v_lt_
=
$
(
am__v_lt_@AM_DEFAULT_V@
)
am__v_lt_0
=
--silent
am__v_lt_1
=
AM_V_P
=
$
(
am__v_P_@AM_V@
)
am__v_P_
=
$
(
am__v_P_@AM_DEFAULT_V@
)
am__v_P_0
=
false
am__v_P_1
=
:
AM_V_GEN
=
$
(
am__v_GEN_@AM_V@
)
am__v_GEN_
=
$
(
am__v_GEN_@AM_DEFAULT_V@
)
am__v_GEN_0
=
@echo
" GEN "
$@
;
am__v_GEN_1
=
AM_V_at
=
$
(
am__v_at_@AM_V@
)
am__v_at_
=
$
(
am__v_at_@AM_DEFAULT_V@
)
am__v_at_0
=
@
am__v_at_1
=
DEFAULT_INCLUDES
=
-I
.@am__isrc@
-I
$(top_builddir)
depcomp
=
$(SHELL)
$(top_srcdir)
/depcomp
am__maybe_remake_depfiles
=
depfiles
am__depfiles_remade
=
./
$(DEPDIR)
/apiplan.Plo
\
./
$(DEPDIR)
/configure.Plo ./
$(DEPDIR)
/execute-dft-c2r.Plo
\
./
$(DEPDIR)
/execute-dft-r2c.Plo ./
$(DEPDIR)
/execute-dft.Plo
\
./
$(DEPDIR)
/execute-r2r.Plo
\
./
$(DEPDIR)
/execute-split-dft-c2r.Plo
\
./
$(DEPDIR)
/execute-split-dft-r2c.Plo
\
./
$(DEPDIR)
/execute-split-dft.Plo ./
$(DEPDIR)
/execute.Plo
\
./
$(DEPDIR)
/export-wisdom-to-file.Plo
\
./
$(DEPDIR)
/export-wisdom-to-string.Plo
\
./
$(DEPDIR)
/export-wisdom.Plo ./
$(DEPDIR)
/f77api.Plo
\
./
$(DEPDIR)
/flops.Plo ./
$(DEPDIR)
/forget-wisdom.Plo
\
./
$(DEPDIR)
/import-system-wisdom.Plo
\
./
$(DEPDIR)
/import-wisdom-from-file.Plo
\
./
$(DEPDIR)
/import-wisdom-from-string.Plo
\
./
$(DEPDIR)
/import-wisdom.Plo ./
$(DEPDIR)
/malloc.Plo
\
./
$(DEPDIR)
/map-r2r-kind.Plo ./
$(DEPDIR)
/mapflags.Plo
\
./
$(DEPDIR)
/mkprinter-file.Plo ./
$(DEPDIR)
/mkprinter-str.Plo
\
./
$(DEPDIR)
/mktensor-iodims.Plo
\
./
$(DEPDIR)
/mktensor-iodims64.Plo
\
./
$(DEPDIR)
/mktensor-rowmajor.Plo ./
$(DEPDIR)
/plan-dft-1d.Plo
\
./
$(DEPDIR)
/plan-dft-2d.Plo ./
$(DEPDIR)
/plan-dft-3d.Plo
\
./
$(DEPDIR)
/plan-dft-c2r-1d.Plo
\
./
$(DEPDIR)
/plan-dft-c2r-2d.Plo
\
./
$(DEPDIR)
/plan-dft-c2r-3d.Plo ./
$(DEPDIR)
/plan-dft-c2r.Plo
\
./
$(DEPDIR)
/plan-dft-r2c-1d.Plo
\
./
$(DEPDIR)
/plan-dft-r2c-2d.Plo
\
./
$(DEPDIR)
/plan-dft-r2c-3d.Plo ./
$(DEPDIR)
/plan-dft-r2c.Plo
\
./
$(DEPDIR)
/plan-dft.Plo ./
$(DEPDIR)
/plan-guru-dft-c2r.Plo
\
./
$(DEPDIR)
/plan-guru-dft-r2c.Plo
\
./
$(DEPDIR)
/plan-guru-dft.Plo ./
$(DEPDIR)
/plan-guru-r2r.Plo
\
./
$(DEPDIR)
/plan-guru-split-dft-c2r.Plo
\
./
$(DEPDIR)
/plan-guru-split-dft-r2c.Plo
\
./
$(DEPDIR)
/plan-guru-split-dft.Plo
\
./
$(DEPDIR)
/plan-guru64-dft-c2r.Plo
\
./
$(DEPDIR)
/plan-guru64-dft-r2c.Plo
\
./
$(DEPDIR)
/plan-guru64-dft.Plo
\
./
$(DEPDIR)
/plan-guru64-r2r.Plo
\
./
$(DEPDIR)
/plan-guru64-split-dft-c2r.Plo
\
./
$(DEPDIR)
/plan-guru64-split-dft-r2c.Plo
\
./
$(DEPDIR)
/plan-guru64-split-dft.Plo
\
./
$(DEPDIR)
/plan-many-dft-c2r.Plo
\
./
$(DEPDIR)
/plan-many-dft-r2c.Plo
\
./
$(DEPDIR)
/plan-many-dft.Plo ./
$(DEPDIR)
/plan-many-r2r.Plo
\
./
$(DEPDIR)
/plan-r2r-1d.Plo ./
$(DEPDIR)
/plan-r2r-2d.Plo
\
./
$(DEPDIR)
/plan-r2r-3d.Plo ./
$(DEPDIR)
/plan-r2r.Plo
\
./
$(DEPDIR)
/print-plan.Plo ./
$(DEPDIR)
/rdft2-pad.Plo
\
./
$(DEPDIR)
/the-planner.Plo ./
$(DEPDIR)
/version.Plo
am__mv
=
mv
-f
COMPILE
=
$(CC)
$(DEFS)
$(DEFAULT_INCLUDES)
$(INCLUDES)
$(AM_CPPFLAGS)
\
$(CPPFLAGS)
$(AM_CFLAGS)
$(CFLAGS)
LTCOMPILE
=
$(LIBTOOL)
$(AM_V_lt)
--tag
=
CC
$(AM_LIBTOOLFLAGS)
\
$(LIBTOOLFLAGS)
--mode
=
compile
$(CC)
$(DEFS)
\
$(DEFAULT_INCLUDES)
$(INCLUDES)
$(AM_CPPFLAGS)
$(CPPFLAGS)
\
$(AM_CFLAGS)
$(CFLAGS)
AM_V_CC
=
$
(
am__v_CC_@AM_V@
)
am__v_CC_
=
$
(
am__v_CC_@AM_DEFAULT_V@
)
am__v_CC_0
=
@echo
" CC "
$@
;
am__v_CC_1
=
CCLD
=
$(CC)
LINK
=
$(LIBTOOL)
$(AM_V_lt)
--tag
=
CC
$(AM_LIBTOOLFLAGS)
\
$(LIBTOOLFLAGS)
--mode
=
link
$(CCLD)
$(AM_CFLAGS)
$(CFLAGS)
\
$(AM_LDFLAGS)
$(LDFLAGS)
-o
$@
AM_V_CCLD
=
$
(
am__v_CCLD_@AM_V@
)
am__v_CCLD_
=
$
(
am__v_CCLD_@AM_DEFAULT_V@
)
am__v_CCLD_0
=
@echo
" CCLD "
$@
;
am__v_CCLD_1
=
SOURCES
=
$(libapi_la_SOURCES)
DIST_SOURCES
=
$(libapi_la_SOURCES)
am__can_run_installinfo
=
\
case
$$
AM_UPDATE_INFO_DIR
in
\
n|no|NO
)
false
;;
\
*
)
(
install-info
--version
)
>
/dev/null 2>&1
;;
\
esac
am__vpath_adj_setup
=
srcdirstrip
=
`
echo
"
$(srcdir)
"
|
sed
's|.|.|g'
`
;
am__vpath_adj
=
case
$$
p
in
\
$(srcdir)
/
*
)
f
=
`
echo
"
$$
p"
|
sed
"s|^
$$
srcdirstrip/||"
`
;;
\
*
)
f
=
$$
p
;;
\
esac
;
am__strip_dir
=
f
=
`
echo
$$
p |
sed
-e
's|^.*/||'
`
;
am__install_max
=
40
am__nobase_strip_setup
=
\
srcdirstrip
=
`
echo
"
$(srcdir)
"
|
sed
's/[].[^$$\\*|]/\\\\&/g'
`
am__nobase_strip
=
\
for
p
in
$$
list
;
do
echo
"
$$
p"
;
done
|
sed
-e
"s|
$$
srcdirstrip/||"
am__nobase_list
=
$(am__nobase_strip_setup)
;
\
for
p
in
$$
list
;
do
echo
"
$$
p
$$
p"
;
done
|
\
sed
"s|
$$
srcdirstrip/| |;"
' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,'
|
\
$(AWK)
'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] ==
$(am__install_max)
) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list
=
\
sed
'$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
\
sed
'$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir
=
{
\
test
-z
"
$$
files"
\
||
{
test
!
-d
"
$$
dir"
&&
test
!
-f
"
$$
dir"
&&
test
!
-r
"
$$
dir"
;
}
\
||
{
echo
" ( cd '
$$
dir' && rm -f"
$$
files
")"
;
\
$(am__cd)
"
$$
dir"
&&
rm
-f
$$
files
;
}
;
\
}
am__installdirs
=
"
$(DESTDIR)$(includedir)
"
"
$(DESTDIR)$(includedir)
"
HEADERS
=
$(include_HEADERS)
$(nodist_include_HEADERS)
am__tagged_files
=
$(HEADERS)
$(SOURCES)
$(TAGS_FILES)
$(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input
=
$(AWK)
'\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files
=
\
list
=
'
$(am__tagged_files)
'
;
\
unique
=
`
for
i
in
$$
list
;
do
\
if
test
-f
"
$$
i"
;
then
echo
$$
i
;
else
echo
$(srcdir)
/
$$
i
;
fi
;
\
done
|
$(am__uniquify_input)
`
ETAGS
=
etags
CTAGS
=
ctags
am__DIST_COMMON
=
$(srcdir)
/Makefile.in
$(top_srcdir)
/depcomp
DISTFILES
=
$(DIST_COMMON)
$(DIST_SOURCES)
$(TEXINFOS)
$(EXTRA_DIST)
ACLOCAL
=
@ACLOCAL@
ALLOCA
=
@ALLOCA@
ALTIVEC_CFLAGS
=
@ALTIVEC_CFLAGS@
AMTAR
=
@AMTAR@
AM_DEFAULT_VERBOSITY
=
@AM_DEFAULT_VERBOSITY@
AR
=
@AR@
AS
=
@AS@
AUTOCONF
=
@AUTOCONF@
AUTOHEADER
=
@AUTOHEADER@
AUTOMAKE
=
@AUTOMAKE@
AVX2_CFLAGS
=
@AVX2_CFLAGS@
AVX512_CFLAGS
=
@AVX512_CFLAGS@
AVX_128_FMA_CFLAGS
=
@AVX_128_FMA_CFLAGS@
AVX_CFLAGS
=
@AVX_CFLAGS@
AWK
=
@AWK@
CC
=
@CC@
CCDEPMODE
=
@CCDEPMODE@
CFLAGS
=
@CFLAGS@
CHECK_PL_OPTS
=
@CHECK_PL_OPTS@
CPP
=
@CPP@
CPPFLAGS
=
@CPPFLAGS@
CYGPATH_W
=
@CYGPATH_W@
C_FFTW_R2R_KIND
=
@C_FFTW_R2R_KIND@
C_MPI_FINT
=
@C_MPI_FINT@
DEFS
=
@DEFS@
DEPDIR
=
@DEPDIR@
DLLTOOL
=
@DLLTOOL@
DSYMUTIL
=
@DSYMUTIL@
DUMPBIN
=
@DUMPBIN@
ECHO_C
=
@ECHO_C@
ECHO_N
=
@ECHO_N@
ECHO_T
=
@ECHO_T@
EGREP
=
@EGREP@
EXEEXT
=
@EXEEXT@
F77
=
@F77@
FFLAGS
=
@FFLAGS@
FGREP
=
@FGREP@
FLIBS
=
@FLIBS@
GREP
=
@GREP@
INDENT
=
@INDENT@
INSTALL
=
@INSTALL@
INSTALL_DATA
=
@INSTALL_DATA@
INSTALL_PROGRAM
=
@INSTALL_PROGRAM@
INSTALL_SCRIPT
=
@INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM
=
@INSTALL_STRIP_PROGRAM@
KCVI_CFLAGS
=
@KCVI_CFLAGS@
LD
=
@LD@
LDFLAGS
=
@LDFLAGS@
LIBOBJS
=
@LIBOBJS@
LIBQUADMATH
=
@LIBQUADMATH@
LIBS
=
@LIBS@
LIBTOOL
=
@LIBTOOL@
LIPO
=
@LIPO@
LN_S
=
@LN_S@
LTLIBOBJS
=
@LTLIBOBJS@
LT_SYS_LIBRARY_PATH
=
@LT_SYS_LIBRARY_PATH@
MAINT
=
@MAINT@
MAKEINFO
=
@MAKEINFO@
MANIFEST_TOOL
=
@MANIFEST_TOOL@
MKDIR_P
=
@MKDIR_P@
MPICC
=
@MPICC@
MPILIBS
=
@MPILIBS@
MPIRUN
=
@MPIRUN@
NEON_CFLAGS
=
@NEON_CFLAGS@
NM
=
@NM@
NMEDIT
=
@NMEDIT@
OBJDUMP
=
@OBJDUMP@
OBJEXT
=
@OBJEXT@
OCAMLBUILD
=
@OCAMLBUILD@
OPENMP_CFLAGS
=
@OPENMP_CFLAGS@
OTOOL
=
@OTOOL@
OTOOL64
=
@OTOOL64@
PACKAGE
=
@PACKAGE@
PACKAGE_BUGREPORT
=
@PACKAGE_BUGREPORT@
PACKAGE_NAME
=
@PACKAGE_NAME@
PACKAGE_STRING
=
@PACKAGE_STRING@
PACKAGE_TARNAME
=
@PACKAGE_TARNAME@
PACKAGE_URL
=
@PACKAGE_URL@
PACKAGE_VERSION
=
@PACKAGE_VERSION@
PATH_SEPARATOR
=
@PATH_SEPARATOR@
POW_LIB
=
@POW_LIB@
PRECISION
=
@PRECISION@
PREC_SUFFIX
=
@PREC_SUFFIX@
PTHREAD_CC
=
@PTHREAD_CC@
PTHREAD_CFLAGS
=
@PTHREAD_CFLAGS@
PTHREAD_LIBS
=
@PTHREAD_LIBS@
RANLIB
=
@RANLIB@
SED
=
@SED@
SET_MAKE
=
@SET_MAKE@
SHARED_VERSION_INFO
=
@SHARED_VERSION_INFO@
SHELL
=
@SHELL@
SSE2_CFLAGS
=
@SSE2_CFLAGS@
STACK_ALIGN_CFLAGS
=
@STACK_ALIGN_CFLAGS@
STRIP
=
@STRIP@
THREADLIBS
=
@THREADLIBS@
VERSION
=
@VERSION@
VSX_CFLAGS
=
@VSX_CFLAGS@
abs_builddir
=
@abs_builddir@
abs_srcdir
=
@abs_srcdir@
abs_top_builddir
=
@abs_top_builddir@
abs_top_srcdir
=
@abs_top_srcdir@
ac_ct_AR
=
@ac_ct_AR@
ac_ct_CC
=
@ac_ct_CC@
ac_ct_DUMPBIN
=
@ac_ct_DUMPBIN@
ac_ct_F77
=
@ac_ct_F77@
acx_pthread_config
=
@acx_pthread_config@
am__include
=
@am__include@
am__leading_dot
=
@am__leading_dot@
am__quote
=
@am__quote@
am__tar
=
@am__tar@
am__untar
=
@am__untar@
bindir
=
@bindir@
build
=
@build@
build_alias
=
@build_alias@
build_cpu
=
@build_cpu@
build_os
=
@build_os@
build_vendor
=
@build_vendor@
builddir
=
@builddir@
datadir
=
@datadir@
datarootdir
=
@datarootdir@
docdir
=
@docdir@
dvidir
=
@dvidir@
exec_prefix
=
@exec_prefix@
host
=
@host@
host_alias
=
@host_alias@
host_cpu
=
@host_cpu@
host_os
=
@host_os@
host_vendor
=
@host_vendor@
htmldir
=
@htmldir@
includedir
=
@includedir@
infodir
=
@infodir@
install_sh
=
@install_sh@
libdir
=
@libdir@
libexecdir
=
@libexecdir@
localedir
=
@localedir@
localstatedir
=
@localstatedir@
mandir
=
@mandir@
mkdir_p
=
@mkdir_p@
oldincludedir
=
@oldincludedir@
pdfdir
=
@pdfdir@
prefix
=
@prefix@
program_transform_name
=
@program_transform_name@
psdir
=
@psdir@
runstatedir
=
@runstatedir@
sbindir
=
@sbindir@
sharedstatedir
=
@sharedstatedir@
srcdir
=
@srcdir@
sysconfdir
=
@sysconfdir@
target_alias
=
@target_alias@
top_build_prefix
=
@top_build_prefix@
top_builddir
=
@top_builddir@
top_srcdir
=
@top_srcdir@
AM_CPPFLAGS
=
-I
$(top_srcdir)
AM_CFLAGS
=
$(STACK_ALIGN_CFLAGS)
EXTRA_DIST
=
f03api.sh genf03.pl fftw3.f03.in
include_HEADERS
=
fftw3.h fftw3.f fftw3l.f03 fftw3q.f03
nodist_include_HEADERS
=
fftw3.f03
noinst_LTLIBRARIES
=
libapi.la
libapi_la_SOURCES
=
apiplan.c configure.c execute-dft-c2r.c
\
execute-dft-r2c.c execute-dft.c execute-r2r.c execute-split-dft-c2r.c
\
execute-split-dft-r2c.c execute-split-dft.c execute.c
\
export-wisdom-to-file.c export-wisdom-to-string.c export-wisdom.c
\
f77api.c flops.c forget-wisdom.c import-system-wisdom.c
\
import-wisdom-from-file.c import-wisdom-from-string.c import-wisdom.c
\
malloc.c map-r2r-kind.c mapflags.c mkprinter-file.c mkprinter-str.c
\
mktensor-iodims.c mktensor-rowmajor.c plan-dft-1d.c plan-dft-2d.c
\
plan-dft-3d.c plan-dft-c2r-1d.c plan-dft-c2r-2d.c plan-dft-c2r-3d.c
\
plan-dft-c2r.c plan-dft-r2c-1d.c plan-dft-r2c-2d.c plan-dft-r2c-3d.c
\
plan-dft-r2c.c plan-dft.c plan-guru-dft-c2r.c plan-guru-dft-r2c.c
\
plan-guru-dft.c plan-guru-r2r.c plan-guru-split-dft-c2r.c
\
plan-guru-split-dft-r2c.c plan-guru-split-dft.c plan-many-dft-c2r.c
\
plan-many-dft-r2c.c plan-many-dft.c plan-many-r2r.c plan-r2r-1d.c
\
plan-r2r-2d.c plan-r2r-3d.c plan-r2r.c print-plan.c rdft2-pad.c
\
the-planner.c version.c api.h f77funcs.h fftw3.h x77.h guru.h
\
guru64.h mktensor-iodims.h plan-guru-dft-c2r.h plan-guru-dft-r2c.h
\
plan-guru-dft.h plan-guru-r2r.h plan-guru-split-dft-c2r.h
\
plan-guru-split-dft-r2c.h plan-guru-split-dft.h plan-guru64-dft-c2r.c
\
plan-guru64-dft-r2c.c plan-guru64-dft.c plan-guru64-r2r.c
\
plan-guru64-split-dft-c2r.c plan-guru64-split-dft-r2c.c
\
plan-guru64-split-dft.c mktensor-iodims64.c
BUILT_SOURCES
=
fftw3.f fftw3.f03.in fftw3.f03 fftw3l.f03 fftw3q.f03
CLEANFILES
=
fftw3.f03
all
:
$(BUILT_SOURCES)
$(MAKE)
$(AM_MAKEFLAGS)
all-am
.SUFFIXES
:
.SUFFIXES
:
.c .lo .o .obj
$(srcdir)/Makefile.in
:
@MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@
for
dep
in
$?
;
do
\
case
'
$(am__configure_deps)
'
in
\
*
$$
dep
*
)
\
(
cd
$(top_builddir)
&&
$(MAKE)
$(AM_MAKEFLAGS)
am--refresh
)
\
&&
{
if
test
-f
$@
;
then
exit
0
;
else
break
;
fi
;
}
;
\
exit
1
;;
\
esac
;
\
done
;
\
echo
' cd
$(top_srcdir)
&&
$(AUTOMAKE)
--gnu api/Makefile'
;
\
$(am__cd)
$(top_srcdir)
&&
\
$(AUTOMAKE)
--gnu
api/Makefile
Makefile
:
$(srcdir)/Makefile.in $(top_builddir)/config.status
@
case
'$?'
in
\
*
config.status
*
)
\
cd
$(top_builddir)
&&
$(MAKE)
$(AM_MAKEFLAGS)
am--refresh
;;
\
*
)
\
echo
' cd
$(top_builddir)
&&
$(SHELL)
./config.status
$(subdir)
/$@
$(am__maybe_remake_depfiles)
'
;
\
cd
$(top_builddir)
&&
$(SHELL)
./config.status
$(subdir)
/
$@
$(am__maybe_remake_depfiles)
;;
\
esac
;
$(top_builddir)/config.status
:
$(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd
$(top_builddir)
&&
$(MAKE)
$(AM_MAKEFLAGS)
am--refresh
$(top_srcdir)/configure
:
@MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd
$(top_builddir)
&&
$(MAKE)
$(AM_MAKEFLAGS)
am--refresh
$(ACLOCAL_M4)
:
@MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd
$(top_builddir)
&&
$(MAKE)
$(AM_MAKEFLAGS)
am--refresh
$(am__aclocal_m4_deps)
:
clean-noinstLTLIBRARIES
:
-
test
-z
"
$(noinst_LTLIBRARIES)
"
||
rm
-f
$(noinst_LTLIBRARIES)
@
list
=
'
$(noinst_LTLIBRARIES)
'
;
\
locs
=
`
for
p
in
$$
list
;
do
echo
$$
p
;
done
|
\
sed
's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|'
|
\
sort
-u
`
;
\
test
-z
"
$$
locs"
||
{
\
echo rm
-f
$
${locs}
;
\
rm
-f
$
${locs}
;
\
}
libapi.la
:
$(libapi_la_OBJECTS) $(libapi_la_DEPENDENCIES) $(EXTRA_libapi_la_DEPENDENCIES)
$(AM_V_CCLD)$(LINK)
$(libapi_la_OBJECTS)
$(libapi_la_LIBADD)
$(LIBS)
mostlyclean-compile
:
-
rm
-f
*
.
$(OBJEXT)
distclean-compile
:
-
rm
-f
*
.tab.c
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/apiplan.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/configure.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/execute-dft-c2r.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/execute-dft-r2c.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/execute-dft.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/execute-r2r.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/execute-split-dft-c2r.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/execute-split-dft-r2c.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/execute-split-dft.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/execute.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/export-wisdom-to-file.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/export-wisdom-to-string.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/export-wisdom.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/f77api.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/flops.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/forget-wisdom.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/import-system-wisdom.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/import-wisdom-from-file.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/import-wisdom-from-string.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/import-wisdom.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/malloc.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/map-r2r-kind.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/mapflags.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/mkprinter-file.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/mkprinter-str.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/mktensor-iodims.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/mktensor-iodims64.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/mktensor-rowmajor.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-dft-1d.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-dft-2d.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-dft-3d.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-dft-c2r-1d.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-dft-c2r-2d.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-dft-c2r-3d.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-dft-c2r.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-dft-r2c-1d.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-dft-r2c-2d.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-dft-r2c-3d.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-dft-r2c.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-dft.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-guru-dft-c2r.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-guru-dft-r2c.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-guru-dft.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-guru-r2r.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-guru-split-dft-c2r.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-guru-split-dft-r2c.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-guru-split-dft.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-guru64-dft-c2r.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-guru64-dft-r2c.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-guru64-dft.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-guru64-r2r.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-guru64-split-dft-c2r.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-guru64-split-dft-r2c.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-guru64-split-dft.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-many-dft-c2r.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-many-dft-r2c.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-many-dft.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-many-r2r.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-r2r-1d.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-r2r-2d.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-r2r-3d.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/plan-r2r.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/print-plan.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/rdft2-pad.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/the-planner.Plo@am__quote@
# am--include-marker
@AMDEP_TRUE@@am__include@
@am__quote@./$(DEPDIR)/version.Plo@am__quote@
# am--include-marker
$(am__depfiles_remade)
:
@
$(MKDIR_P)
$
(
@D
)
@
echo
'# dummy'
>
$@
-t
&&
$(am__mv)
$@
-t
$@
am--depfiles
:
$(am__depfiles_remade)
.c.o
:
@am__fastdepCC_TRUE@
$(AM_V_CC)$(COMPILE)
-MT
$@
-MD
-MP
-MF
$(DEPDIR)/$*.Tpo
-c
-o
$@
$<
@am__fastdepCC_TRUE@
$(AM_V_at)$(am__mv)
$(DEPDIR)/$*.Tpo
$(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@
$(AM_V_CC)source
=
'$<'
object
=
'$@'
libtool
=
no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@
DEPDIR
=
$(DEPDIR)
$(CCDEPMODE)
$(depcomp)
@AMDEPBACKSLASH@
@am__fastdepCC_FALSE@
$(AM_V_CC@am__nodep@)$(COMPILE)
-c
-o
$@
$<
.c.obj
:
@am__fastdepCC_TRUE@
$(AM_V_CC)$(COMPILE)
-MT
$@
-MD
-MP
-MF
$(DEPDIR)/$*.Tpo
-c
-o
$@
`$(CYGPATH_W)
'$<'
`
@am__fastdepCC_TRUE@
$(AM_V_at)$(am__mv)
$(DEPDIR)/$*.Tpo
$(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@
$(AM_V_CC)source
=
'$<'
object
=
'$@'
libtool
=
no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@
DEPDIR
=
$(DEPDIR)
$(CCDEPMODE)
$(depcomp)
@AMDEPBACKSLASH@
@am__fastdepCC_FALSE@
$(AM_V_CC@am__nodep@)$(COMPILE)
-c
-o
$@
`$(CYGPATH_W)
'$<'
`
.c.lo
:
@am__fastdepCC_TRUE@
$(AM_V_CC)$(LTCOMPILE)
-MT
$@
-MD
-MP
-MF
$(DEPDIR)/$*.Tpo
-c
-o
$@
$<
@am__fastdepCC_TRUE@
$(AM_V_at)$(am__mv)
$(DEPDIR)/$*.Tpo
$(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@
$(AM_V_CC)source
=
'$<'
object
=
'$@'
libtool
=
yes
@AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@
DEPDIR
=
$(DEPDIR)
$(CCDEPMODE)
$(depcomp)
@AMDEPBACKSLASH@
@am__fastdepCC_FALSE@
$(AM_V_CC@am__nodep@)$(LTCOMPILE)
-c
-o
$@
$<
mostlyclean-libtool
:
-
rm
-f
*
.lo
clean-libtool
:
-
rm
-rf
.libs _libs
install-includeHEADERS
:
$(include_HEADERS)
@
$(NORMAL_INSTALL)
@
list
=
'
$(include_HEADERS)
'
;
test
-n
"
$(includedir)
"
||
list
=
;
\
if
test
-n
"
$$
list"
;
then
\
echo
"
$(MKDIR_P)
'
$(DESTDIR)$(includedir)
'"
;
\
$(MKDIR_P)
"
$(DESTDIR)$(includedir)
"
||
exit
1
;
\
fi
;
\
for
p
in
$$
list
;
do
\
if
test
-f
"
$$
p"
;
then
d
=
;
else
d
=
"
$(srcdir)
/"
;
fi
;
\
echo
"
$$
d
$$
p"
;
\
done
|
$(am__base_list)
|
\
while
read
files
;
do
\
echo
"
$(INSTALL_HEADER)
$$
files '
$(DESTDIR)$(includedir)
'"
;
\
$(INSTALL_HEADER)
$$
files
"
$(DESTDIR)$(includedir)
"
||
exit
$$
?
;
\
done
uninstall-includeHEADERS
:
@
$(NORMAL_UNINSTALL)
@
list
=
'
$(include_HEADERS)
'
;
test
-n
"
$(includedir)
"
||
list
=
;
\
files
=
`
for
p
in
$$
list
;
do
echo
$$
p
;
done
|
sed
-e
's|^.*/||'
`
;
\
dir
=
'
$(DESTDIR)$(includedir)
'
;
$(am__uninstall_files_from_dir)
install-nodist_includeHEADERS
:
$(nodist_include_HEADERS)
@
$(NORMAL_INSTALL)
@
list
=
'
$(nodist_include_HEADERS)
'
;
test
-n
"
$(includedir)
"
||
list
=
;
\
if
test
-n
"
$$
list"
;
then
\
echo
"
$(MKDIR_P)
'
$(DESTDIR)$(includedir)
'"
;
\
$(MKDIR_P)
"
$(DESTDIR)$(includedir)
"
||
exit
1
;
\
fi
;
\
for
p
in
$$
list
;
do
\
if
test
-f
"
$$
p"
;
then
d
=
;
else
d
=
"
$(srcdir)
/"
;
fi
;
\
echo
"
$$
d
$$
p"
;
\
done
|
$(am__base_list)
|
\
while
read
files
;
do
\
echo
"
$(INSTALL_HEADER)
$$
files '
$(DESTDIR)$(includedir)
'"
;
\
$(INSTALL_HEADER)
$$
files
"
$(DESTDIR)$(includedir)
"
||
exit
$$
?
;
\
done
uninstall-nodist_includeHEADERS
:
@
$(NORMAL_UNINSTALL)
@
list
=
'
$(nodist_include_HEADERS)
'
;
test
-n
"
$(includedir)
"
||
list
=
;
\
files
=
`
for
p
in
$$
list
;
do
echo
$$
p
;
done
|
sed
-e
's|^.*/||'
`
;
\
dir
=
'
$(DESTDIR)$(includedir)
'
;
$(am__uninstall_files_from_dir)
ID
:
$(am__tagged_files)
$(am__define_uniq_tagged_files)
;
mkid
-fID
$$
unique
tags
:
tags-am
TAGS
:
tags
tags-am
:
$(TAGS_DEPENDENCIES) $(am__tagged_files)
set
x
;
\
here
=
`
pwd
`
;
\
$(am__define_uniq_tagged_files)
;
\
shift
;
\
if
test
-z
"
$(ETAGS_ARGS)$$
*
$$
unique"
;
then
:
;
else
\
test
-n
"
$$
unique"
||
unique
=
$$
empty_fix
;
\
if
test
$$
# -gt 0; then
\
$(ETAGS)
$(ETAGSFLAGS)
$(AM_ETAGSFLAGS)
$(ETAGS_ARGS)
\
"
$$
@"
$$
unique
;
\
else
\
$(ETAGS)
$(ETAGSFLAGS)
$(AM_ETAGSFLAGS)
$(ETAGS_ARGS)
\
$$
unique
;
\
fi
;
\
fi
ctags
:
ctags-am
CTAGS
:
ctags
ctags-am
:
$(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files)
;
\
test
-z
"
$(CTAGS_ARGS)$$
unique"
\
||
$(CTAGS)
$(CTAGSFLAGS)
$(AM_CTAGSFLAGS)
$(CTAGS_ARGS)
\
$$
unique
GTAGS
:
here
=
`
$(am__cd)
$(top_builddir)
&&
pwd
`
\
&&
$(am__cd)
$(top_srcdir)
\
&&
gtags
-i
$(GTAGS_ARGS)
"
$$
here"
cscopelist
:
cscopelist-am
cscopelist-am
:
$(am__tagged_files)
list
=
'
$(am__tagged_files)
'
;
\
case
"
$(srcdir)
"
in
\
[
\\
/]
*
|
?:[
\\
/]
*
)
sdir
=
"
$(srcdir)
"
;;
\
*
)
sdir
=
$(subdir)
/
$(srcdir)
;;
\
esac
;
\
for
i
in
$$
list
;
do
\
if
test
-f
"
$$
i"
;
then
\
echo
"
$(subdir)
/
$$
i"
;
\
else
\
echo
"
$$
sdir/
$$
i"
;
\
fi
;
\
done
>>
$(top_builddir)
/cscope.files
distclean-tags
:
-
rm
-f
TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir
:
$(BUILT_SOURCES)
$(MAKE)
$(AM_MAKEFLAGS)
distdir-am
distdir-am
:
$(DISTFILES)
@
srcdirstrip
=
`
echo
"
$(srcdir)
"
|
sed
's/[].[^$$\\*]/\\\\&/g'
`
;
\
topsrcdirstrip
=
`
echo
"
$(top_srcdir)
"
|
sed
's/[].[^$$\\*]/\\\\&/g'
`
;
\
list
=
'
$(DISTFILES)
'
;
\
dist_files
=
`
for
file
in
$$
list
;
do
echo
$$
file
;
done
|
\
sed
-e
"s|^
$$
srcdirstrip/||;t"
\
-e
"s|^
$$
topsrcdirstrip/|
$(top_builddir)
/|;t"
`
;
\
case
$$
dist_files
in
\
*
/
*
)
$(MKDIR_P)
`
echo
"
$$
dist_files"
|
\
sed
'/\//!d;s|^|
$(distdir)
/|;s,/[^/]*$$,,'
|
\
sort
-u
`
;;
\
esac
;
\
for
file
in
$$
dist_files
;
do
\
if
test
-f
$$
file
||
test
-d
$$
file
;
then
d
=
.
;
else
d
=
$(srcdir)
;
fi
;
\
if
test
-d
$$
d/
$$
file
;
then
\
dir
=
`
echo
"/
$$
file"
|
sed
-e
's,/[^/]*$$,,'
`
;
\
if
test
-d
"
$(distdir)
/
$$
file"
;
then
\
find
"
$(distdir)
/
$$
file"
-type
d
!
-perm
-700
-exec
chmod
u+rwx
{}
\;
;
\
fi
;
\
if
test
-d
$(srcdir)
/
$$
file
&&
test
$$
d
!=
$(srcdir)
;
then
\
cp
-fpR
$(srcdir)
/
$$
file
"
$(distdir)$$
dir"
||
exit
1
;
\
find
"
$(distdir)
/
$$
file"
-type
d
!
-perm
-700
-exec
chmod
u+rwx
{}
\;
;
\
fi
;
\
cp
-fpR
$$
d/
$$
file
"
$(distdir)$$
dir"
||
exit
1
;
\
else
\
test
-f
"
$(distdir)
/
$$
file"
\
||
cp
-p
$$
d/
$$
file
"
$(distdir)
/
$$
file"
\
||
exit
1
;
\
fi
;
\
done
check-am
:
all-am
check
:
$(BUILT_SOURCES)
$(MAKE)
$(AM_MAKEFLAGS)
check-am
all-am
:
Makefile $(LTLIBRARIES) $(HEADERS)
installdirs
:
for
dir
in
"
$(DESTDIR)$(includedir)
"
"
$(DESTDIR)$(includedir)
"
;
do
\
test
-z
"
$$
dir"
||
$(MKDIR_P)
"
$$
dir"
;
\
done
install
:
$(BUILT_SOURCES)
$(MAKE)
$(AM_MAKEFLAGS)
install-am
install-exec
:
install-exec-am
install-data
:
install-data-am
uninstall
:
uninstall-am
install-am
:
all-am
@
$(MAKE)
$(AM_MAKEFLAGS)
install-exec-am install-data-am
installcheck
:
installcheck-am
install-strip
:
if
test
-z
'
$(STRIP)
'
;
then
\
$(MAKE)
$(AM_MAKEFLAGS)
INSTALL_PROGRAM
=
"
$(INSTALL_STRIP_PROGRAM)
"
\
install_sh_PROGRAM
=
"
$(INSTALL_STRIP_PROGRAM)
"
INSTALL_STRIP_FLAG
=
-s
\
install
;
\
else
\
$(MAKE)
$(AM_MAKEFLAGS)
INSTALL_PROGRAM
=
"
$(INSTALL_STRIP_PROGRAM)
"
\
install_sh_PROGRAM
=
"
$(INSTALL_STRIP_PROGRAM)
"
INSTALL_STRIP_FLAG
=
-s
\
"INSTALL_PROGRAM_ENV=STRIPPROG='
$(STRIP)
'"
install
;
\
fi
mostlyclean-generic
:
clean-generic
:
-
test
-z
"
$(CLEANFILES)
"
||
rm
-f
$(CLEANFILES)
distclean-generic
:
-
test
-z
"
$(CONFIG_CLEAN_FILES)
"
||
rm
-f
$(CONFIG_CLEAN_FILES)
-
test
.
=
"
$(srcdir)
"
||
test
-z
"
$(CONFIG_CLEAN_VPATH_FILES)
"
||
rm
-f
$(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic
:
@
echo
"This command is intended for maintainers to use"
@
echo
"it deletes files that may require special tools to rebuild."
-
test
-z
"
$(BUILT_SOURCES)
"
||
rm
-f
$(BUILT_SOURCES)
clean
:
clean-am
clean-am
:
clean-generic clean-libtool clean-noinstLTLIBRARIES
\
mostlyclean-am
distclean
:
distclean-am
-
rm
-f
./
$(DEPDIR)
/apiplan.Plo
-
rm
-f
./
$(DEPDIR)
/configure.Plo
-
rm
-f
./
$(DEPDIR)
/execute-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/execute-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/execute-dft.Plo
-
rm
-f
./
$(DEPDIR)
/execute-r2r.Plo
-
rm
-f
./
$(DEPDIR)
/execute-split-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/execute-split-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/execute-split-dft.Plo
-
rm
-f
./
$(DEPDIR)
/execute.Plo
-
rm
-f
./
$(DEPDIR)
/export-wisdom-to-file.Plo
-
rm
-f
./
$(DEPDIR)
/export-wisdom-to-string.Plo
-
rm
-f
./
$(DEPDIR)
/export-wisdom.Plo
-
rm
-f
./
$(DEPDIR)
/f77api.Plo
-
rm
-f
./
$(DEPDIR)
/flops.Plo
-
rm
-f
./
$(DEPDIR)
/forget-wisdom.Plo
-
rm
-f
./
$(DEPDIR)
/import-system-wisdom.Plo
-
rm
-f
./
$(DEPDIR)
/import-wisdom-from-file.Plo
-
rm
-f
./
$(DEPDIR)
/import-wisdom-from-string.Plo
-
rm
-f
./
$(DEPDIR)
/import-wisdom.Plo
-
rm
-f
./
$(DEPDIR)
/malloc.Plo
-
rm
-f
./
$(DEPDIR)
/map-r2r-kind.Plo
-
rm
-f
./
$(DEPDIR)
/mapflags.Plo
-
rm
-f
./
$(DEPDIR)
/mkprinter-file.Plo
-
rm
-f
./
$(DEPDIR)
/mkprinter-str.Plo
-
rm
-f
./
$(DEPDIR)
/mktensor-iodims.Plo
-
rm
-f
./
$(DEPDIR)
/mktensor-iodims64.Plo
-
rm
-f
./
$(DEPDIR)
/mktensor-rowmajor.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-1d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-2d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-3d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-c2r-1d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-c2r-2d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-c2r-3d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-r2c-1d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-r2c-2d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-r2c-3d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru-dft.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru-r2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru-split-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru-split-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru-split-dft.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru64-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru64-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru64-dft.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru64-r2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru64-split-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru64-split-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru64-split-dft.Plo
-
rm
-f
./
$(DEPDIR)
/plan-many-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-many-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/plan-many-dft.Plo
-
rm
-f
./
$(DEPDIR)
/plan-many-r2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-r2r-1d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-r2r-2d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-r2r-3d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-r2r.Plo
-
rm
-f
./
$(DEPDIR)
/print-plan.Plo
-
rm
-f
./
$(DEPDIR)
/rdft2-pad.Plo
-
rm
-f
./
$(DEPDIR)
/the-planner.Plo
-
rm
-f
./
$(DEPDIR)
/version.Plo
-
rm
-f
Makefile
distclean-am
:
clean-am distclean-compile distclean-generic
\
distclean-tags
dvi
:
dvi-am
dvi-am
:
html
:
html-am
html-am
:
info
:
info-am
info-am
:
install-data-am
:
install-includeHEADERS install-nodist_includeHEADERS
install-dvi
:
install-dvi-am
install-dvi-am
:
install-exec-am
:
install-html
:
install-html-am
install-html-am
:
install-info
:
install-info-am
install-info-am
:
install-man
:
install-pdf
:
install-pdf-am
install-pdf-am
:
install-ps
:
install-ps-am
install-ps-am
:
installcheck-am
:
maintainer-clean
:
maintainer-clean-am
-
rm
-f
./
$(DEPDIR)
/apiplan.Plo
-
rm
-f
./
$(DEPDIR)
/configure.Plo
-
rm
-f
./
$(DEPDIR)
/execute-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/execute-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/execute-dft.Plo
-
rm
-f
./
$(DEPDIR)
/execute-r2r.Plo
-
rm
-f
./
$(DEPDIR)
/execute-split-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/execute-split-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/execute-split-dft.Plo
-
rm
-f
./
$(DEPDIR)
/execute.Plo
-
rm
-f
./
$(DEPDIR)
/export-wisdom-to-file.Plo
-
rm
-f
./
$(DEPDIR)
/export-wisdom-to-string.Plo
-
rm
-f
./
$(DEPDIR)
/export-wisdom.Plo
-
rm
-f
./
$(DEPDIR)
/f77api.Plo
-
rm
-f
./
$(DEPDIR)
/flops.Plo
-
rm
-f
./
$(DEPDIR)
/forget-wisdom.Plo
-
rm
-f
./
$(DEPDIR)
/import-system-wisdom.Plo
-
rm
-f
./
$(DEPDIR)
/import-wisdom-from-file.Plo
-
rm
-f
./
$(DEPDIR)
/import-wisdom-from-string.Plo
-
rm
-f
./
$(DEPDIR)
/import-wisdom.Plo
-
rm
-f
./
$(DEPDIR)
/malloc.Plo
-
rm
-f
./
$(DEPDIR)
/map-r2r-kind.Plo
-
rm
-f
./
$(DEPDIR)
/mapflags.Plo
-
rm
-f
./
$(DEPDIR)
/mkprinter-file.Plo
-
rm
-f
./
$(DEPDIR)
/mkprinter-str.Plo
-
rm
-f
./
$(DEPDIR)
/mktensor-iodims.Plo
-
rm
-f
./
$(DEPDIR)
/mktensor-iodims64.Plo
-
rm
-f
./
$(DEPDIR)
/mktensor-rowmajor.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-1d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-2d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-3d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-c2r-1d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-c2r-2d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-c2r-3d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-r2c-1d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-r2c-2d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-r2c-3d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/plan-dft.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru-dft.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru-r2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru-split-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru-split-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru-split-dft.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru64-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru64-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru64-dft.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru64-r2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru64-split-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru64-split-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/plan-guru64-split-dft.Plo
-
rm
-f
./
$(DEPDIR)
/plan-many-dft-c2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-many-dft-r2c.Plo
-
rm
-f
./
$(DEPDIR)
/plan-many-dft.Plo
-
rm
-f
./
$(DEPDIR)
/plan-many-r2r.Plo
-
rm
-f
./
$(DEPDIR)
/plan-r2r-1d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-r2r-2d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-r2r-3d.Plo
-
rm
-f
./
$(DEPDIR)
/plan-r2r.Plo
-
rm
-f
./
$(DEPDIR)
/print-plan.Plo
-
rm
-f
./
$(DEPDIR)
/rdft2-pad.Plo
-
rm
-f
./
$(DEPDIR)
/the-planner.Plo
-
rm
-f
./
$(DEPDIR)
/version.Plo
-
rm
-f
Makefile
maintainer-clean-am
:
distclean-am maintainer-clean-generic
mostlyclean
:
mostlyclean-am
mostlyclean-am
:
mostlyclean-compile mostlyclean-generic
\
mostlyclean-libtool
pdf
:
pdf-am
pdf-am
:
ps
:
ps-am
ps-am
:
uninstall-am
:
uninstall-includeHEADERS uninstall-nodist_includeHEADERS
.MAKE
:
all check install install-am install-strip
.PHONY
:
CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean
\
clean-generic clean-libtool clean-noinstLTLIBRARIES
\
cscopelist-am ctags ctags-am distclean distclean-compile
\
distclean-generic distclean-libtool distclean-tags distdir dvi
\
dvi-am html html-am info info-am install install-am
\
install-data install-data-am install-dvi install-dvi-am
\
install-exec install-exec-am install-html install-html-am
\
install-includeHEADERS install-info install-info-am
\
install-man install-nodist_includeHEADERS install-pdf
\
install-pdf-am install-ps install-ps-am install-strip
\
installcheck installcheck-am installdirs maintainer-clean
\
maintainer-clean-generic mostlyclean mostlyclean-compile
\
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am
\
tags tags-am uninstall uninstall-am uninstall-includeHEADERS
\
uninstall-nodist_includeHEADERS
.PRECIOUS
:
Makefile
fftw3.f03
:
fftw3.f03.in
(
echo
"! Generated automatically. DO NOT EDIT!"
;
echo
;
\
echo
" integer, parameter :: C_FFTW_R2R_KIND = @C_FFTW_R2R_KIND@"
;
\
grep
-v
"Generated automatically"
$(srcdir)
/fftw3.f03.in
)
>
$@
# convert constants to F77 PARAMETER statements
@MAINTAINER_MODE_TRUE@fftw3.f
:
fftw3.h
@MAINTAINER_MODE_TRUE@
rm
-f
$@
@MAINTAINER_MODE_TRUE@
perl
-pe
's/([A-Z0-9_]+)=([+-]?[0-9]+)/\n INTEGER \1\n PARAMETER (\1=\2)\n/g'
$<
|egrep
'PARAMETER|INTEGER'
>
$@
@MAINTAINER_MODE_TRUE@
perl
-pe
's/#define +([A-Z0-9_]+) +\(([+-]?[0-9]+)U?\)/\n INTEGER \1\n PARAMETER (\1=\2)\n/g'
$<
|egrep
'PARAMETER|INTEGER'
>>
$@
@MAINTAINER_MODE_TRUE@
perl
-pe
'if (/#define +([A-Z0-9_]+) +\(([0-9]+)U? *<< *([0-9]+)\)/) { print "\n INTEGER $$1\n PARAMETER ($$1=",$$2 << $$3,")\n"; }'
$<
|egrep
'PARAMETER|INTEGER'
>>
$@
@MAINTAINER_MODE_TRUE@fftw3.f03.in
:
fftw3.h f03api.sh genf03.pl
@MAINTAINER_MODE_TRUE@
sh
$(srcdir)/f03api.sh
d
f
>
$@
@MAINTAINER_MODE_TRUE@fftw3l.f03
:
fftw3.h f03api.sh genf03.pl
@MAINTAINER_MODE_TRUE@
sh
$(srcdir)/f03api.sh
l
|
grep
-v
parameter
>
$@
@MAINTAINER_MODE_TRUE@fftw3q.f03
:
fftw3.h f03api.sh genf03.pl
@MAINTAINER_MODE_TRUE@
sh
$(srcdir)/f03api.sh
q
|
grep
-v
parameter
>
$@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT
:
SynthesisTransform/include/api.h
0 → 100644
View file @
2ad915e8
/*
* Copyright (c) 2003, 2007-14 Matteo Frigo
* Copyright (c) 2003, 2007-14 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
/* internal API definitions */
#ifndef __API_H__
#define __API_H__
#ifndef CALLING_FFTW
/* defined in hook.c, when calling internal functions */
# define COMPILING_FFTW
/* used for DLL symbol exporting in fftw3.h */
#endif
/* When compiling with GNU libtool on Windows, DLL_EXPORT is #defined
for compiling the shared-library code. In this case, we'll #define
FFTW_DLL to add dllexport attributes to the specified functions in
fftw3.h.
If we don't specify dllexport explicitly, then libtool
automatically exports all symbols. However, if we specify
dllexport explicitly for any functions, then libtool apparently
doesn't do any automatic exporting. (Not documented, grrr, but
this is the observed behavior with libtool 1.5.8.) Thus, using
this forces us to correctly dllexport every exported symbol, or
linking bench.exe will fail. This has the advantage of forcing
us to mark things correctly, which is necessary for other compilers
(such as MS VC++). */
#ifdef DLL_EXPORT
# define FFTW_DLL
#endif
/* just in case: force <fftw3.h> not to use C99 complex numbers
(we need this for IBM xlc because _Complex_I is treated specially
and is defined even if <complex.h> is not included) */
#define FFTW_NO_Complex
#include
"api/fftw3.h"
#include
"kernel/ifftw.h"
#include
"rdft/rdft.h"
#ifdef __cplusplus
extern
"C"
{
#endif
/* __cplusplus */
/* the API ``plan'' contains both the kernel plan and problem */
struct
X
(
plan_s
)
{
plan
*
pln
;
problem
*
prb
;
int
sign
;
};
/* shorthand */
typedef
struct
X
(
plan_s
)
apiplan
;
/* complex type for internal use */
typedef
R
C
[
2
];
#define EXTRACT_REIM(sign, c, r, i) X(extract_reim)(sign, (c)[0], r, i)
#define TAINT_UNALIGNED(p, flg) TAINT(p, ((flg) & FFTW_UNALIGNED) != 0)
tensor
*
X
(
mktensor_rowmajor
)(
int
rnk
,
const
int
*
n
,
const
int
*
niphys
,
const
int
*
nophys
,
int
is
,
int
os
);
tensor
*
X
(
mktensor_iodims
)(
int
rank
,
const
X
(
iodim
)
*
dims
,
int
is
,
int
os
);
tensor
*
X
(
mktensor_iodims64
)(
int
rank
,
const
X
(
iodim64
)
*
dims
,
int
is
,
int
os
);
const
int
*
X
(
rdft2_pad
)(
int
rnk
,
const
int
*
n
,
const
int
*
nembed
,
int
inplace
,
int
cmplx
,
int
**
nfree
);
int
X
(
many_kosherp
)(
int
rnk
,
const
int
*
n
,
int
howmany
);
int
X
(
guru_kosherp
)(
int
rank
,
const
X
(
iodim
)
*
dims
,
int
howmany_rank
,
const
X
(
iodim
)
*
howmany_dims
);
int
X
(
guru64_kosherp
)(
int
rank
,
const
X
(
iodim64
)
*
dims
,
int
howmany_rank
,
const
X
(
iodim64
)
*
howmany_dims
);
/* Note: FFTW_EXTERN is used for "internal" functions used in tests/hook.c */
FFTW_EXTERN
printer
*
X
(
mkprinter_file
)(
FILE
*
f
);
printer
*
X
(
mkprinter_cnt
)(
size_t
*
cnt
);
printer
*
X
(
mkprinter_str
)(
char
*
s
);
FFTW_EXTERN
planner
*
X
(
the_planner
)(
void
);
void
X
(
configure_planner
)(
planner
*
plnr
);
void
X
(
mapflags
)(
planner
*
,
unsigned
);
apiplan
*
X
(
mkapiplan
)(
int
sign
,
unsigned
flags
,
problem
*
prb
);
rdft_kind
*
X
(
map_r2r_kind
)(
int
rank
,
const
X
(
r2r_kind
)
*
kind
);
typedef
void
(
*
planner_hook_t
)(
void
);
void
X
(
set_planner_hooks
)(
planner_hook_t
before
,
planner_hook_t
after
);
#ifdef __cplusplus
}
/* extern "C" */
#endif
/* __cplusplus */
#endif
/* __API_H__ */
SynthesisTransform/include/apiplan.c
0 → 100644
View file @
2ad915e8
/*
* Copyright (c) 2003, 2007-14 Matteo Frigo
* Copyright (c) 2003, 2007-14 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include
"api/api.h"
static
planner_hook_t
before_planner_hook
=
0
,
after_planner_hook
=
0
;
void
X
(
set_planner_hooks
)(
planner_hook_t
before
,
planner_hook_t
after
)
{
before_planner_hook
=
before
;
after_planner_hook
=
after
;
}
static
plan
*
mkplan0
(
planner
*
plnr
,
unsigned
flags
,
const
problem
*
prb
,
unsigned
hash_info
,
wisdom_state_t
wisdom_state
)
{
/* map API flags into FFTW flags */
X
(
mapflags
)(
plnr
,
flags
);
plnr
->
flags
.
hash_info
=
hash_info
;
plnr
->
wisdom_state
=
wisdom_state
;
/* create plan */
return
plnr
->
adt
->
mkplan
(
plnr
,
prb
);
}
static
unsigned
force_estimator
(
unsigned
flags
)
{
flags
&=
~
(
FFTW_MEASURE
|
FFTW_PATIENT
|
FFTW_EXHAUSTIVE
);
return
(
flags
|
FFTW_ESTIMATE
);
}
static
plan
*
mkplan
(
planner
*
plnr
,
unsigned
flags
,
const
problem
*
prb
,
unsigned
hash_info
)
{
plan
*
pln
;
pln
=
mkplan0
(
plnr
,
flags
,
prb
,
hash_info
,
WISDOM_NORMAL
);
if
(
plnr
->
wisdom_state
==
WISDOM_NORMAL
&&
!
pln
)
{
/* maybe the planner failed because of inconsistent wisdom;
plan again ignoring infeasible wisdom */
pln
=
mkplan0
(
plnr
,
force_estimator
(
flags
),
prb
,
hash_info
,
WISDOM_IGNORE_INFEASIBLE
);
}
if
(
plnr
->
wisdom_state
==
WISDOM_IS_BOGUS
)
{
/* if the planner detected a wisdom inconsistency,
forget all wisdom and plan again */
plnr
->
adt
->
forget
(
plnr
,
FORGET_EVERYTHING
);
A
(
!
pln
);
pln
=
mkplan0
(
plnr
,
flags
,
prb
,
hash_info
,
WISDOM_NORMAL
);
if
(
plnr
->
wisdom_state
==
WISDOM_IS_BOGUS
)
{
/* if it still fails, plan without wisdom */
plnr
->
adt
->
forget
(
plnr
,
FORGET_EVERYTHING
);
A
(
!
pln
);
pln
=
mkplan0
(
plnr
,
force_estimator
(
flags
),
prb
,
hash_info
,
WISDOM_IGNORE_ALL
);
}
}
return
pln
;
}
apiplan
*
X
(
mkapiplan
)(
int
sign
,
unsigned
flags
,
problem
*
prb
)
{
apiplan
*
p
=
0
;
plan
*
pln
;
unsigned
flags_used_for_planning
;
planner
*
plnr
;
static
const
unsigned
int
pats
[]
=
{
FFTW_ESTIMATE
,
FFTW_MEASURE
,
FFTW_PATIENT
,
FFTW_EXHAUSTIVE
};
int
pat
,
pat_max
;
double
pcost
=
0
;
if
(
before_planner_hook
)
before_planner_hook
();
plnr
=
X
(
the_planner
)();
if
(
flags
&
FFTW_WISDOM_ONLY
)
{
/* Special mode that returns a plan only if wisdom is present,
and returns 0 otherwise. This is now documented in the manual,
as a way to detect whether wisdom is available for a problem. */
flags_used_for_planning
=
flags
;
pln
=
mkplan0
(
plnr
,
flags
,
prb
,
0
,
WISDOM_ONLY
);
}
else
{
pat_max
=
flags
&
FFTW_ESTIMATE
?
0
:
(
flags
&
FFTW_EXHAUSTIVE
?
3
:
(
flags
&
FFTW_PATIENT
?
2
:
1
));
pat
=
plnr
->
timelimit
>=
0
?
0
:
pat_max
;
flags
&=
~
(
FFTW_ESTIMATE
|
FFTW_MEASURE
|
FFTW_PATIENT
|
FFTW_EXHAUSTIVE
);
plnr
->
start_time
=
X
(
get_crude_time
)();
/* plan at incrementally increasing patience until we run
out of time */
for
(
pln
=
0
,
flags_used_for_planning
=
0
;
pat
<=
pat_max
;
++
pat
)
{
plan
*
pln1
;
unsigned
tmpflags
=
flags
|
pats
[
pat
];
pln1
=
mkplan
(
plnr
,
tmpflags
,
prb
,
0u
);
if
(
!
pln1
)
{
/* don't bother continuing if planner failed or timed out */
A
(
!
pln
||
plnr
->
timed_out
);
break
;
}
X
(
plan_destroy_internal
)(
pln
);
pln
=
pln1
;
flags_used_for_planning
=
tmpflags
;
pcost
=
pln
->
pcost
;
}
}
if
(
pln
)
{
/* build apiplan */
p
=
(
apiplan
*
)
MALLOC
(
sizeof
(
apiplan
),
PLANS
);
p
->
prb
=
prb
;
p
->
sign
=
sign
;
/* cache for execute_dft */
/* re-create plan from wisdom, adding blessing */
p
->
pln
=
mkplan
(
plnr
,
flags_used_for_planning
,
prb
,
BLESSING
);
/* record pcost from most recent measurement for use in X(cost) */
p
->
pln
->
pcost
=
pcost
;
if
(
sizeof
(
trigreal
)
>
sizeof
(
R
))
{
/* this is probably faster, and we have enough trigreal
bits to maintain accuracy */
X
(
plan_awake
)(
p
->
pln
,
AWAKE_SQRTN_TABLE
);
}
else
{
/* more accurate */
X
(
plan_awake
)(
p
->
pln
,
AWAKE_SINCOS
);
}
/* we don't use pln for p->pln, above, since by re-creating the
plan we might use more patient wisdom from a timed-out mkplan */
X
(
plan_destroy_internal
)(
pln
);
}
else
X
(
problem_destroy
)(
prb
);
/* discard all information not necessary to reconstruct the plan */
plnr
->
adt
->
forget
(
plnr
,
FORGET_ACCURSED
);
#ifdef FFTW_RANDOM_ESTIMATOR
X
(
random_estimate_seed
)
++
;
/* subsequent "random" plans are distinct */
#endif
if
(
after_planner_hook
)
after_planner_hook
();
return
p
;
}
void
X
(
destroy_plan
)(
X
(
plan
)
p
)
{
if
(
p
)
{
if
(
before_planner_hook
)
before_planner_hook
();
X
(
plan_awake
)(
p
->
pln
,
SLEEPY
);
X
(
plan_destroy_internal
)(
p
->
pln
);
X
(
problem_destroy
)(
p
->
prb
);
X
(
ifree
)(
p
);
if
(
after_planner_hook
)
after_planner_hook
();
}
}
int
X
(
alignment_of
)(
R
*
p
)
{
return
X
(
ialignment_of
(
p
));
}
SynthesisTransform/include/configure.c
0 → 100644
View file @
2ad915e8
/*
* Copyright (c) 2003, 2007-14 Matteo Frigo
* Copyright (c) 2003, 2007-14 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include
"api/api.h"
#include
"dft/dft.h"
#include
"rdft/rdft.h"
#include
"reodft/reodft.h"
void
X
(
configure_planner
)(
planner
*
plnr
)
{
X
(
dft_conf_standard
)(
plnr
);
X
(
rdft_conf_standard
)(
plnr
);
X
(
reodft_conf_standard
)(
plnr
);
}
SynthesisTransform/include/execute-dft-c2r.c
0 → 100644
View file @
2ad915e8
/*
* Copyright (c) 2003, 2007-14 Matteo Frigo
* Copyright (c) 2003, 2007-14 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include
"api/api.h"
#include
"rdft/rdft.h"
/* guru interface: requires care in alignment, r - i, etcetera. */
void
X
(
execute_dft_c2r
)(
const
X
(
plan
)
p
,
C
*
in
,
R
*
out
)
{
plan_rdft2
*
pln
=
(
plan_rdft2
*
)
p
->
pln
;
problem_rdft2
*
prb
=
(
problem_rdft2
*
)
p
->
prb
;
pln
->
apply
((
plan
*
)
pln
,
out
,
out
+
(
prb
->
r1
-
prb
->
r0
),
in
[
0
],
in
[
0
]
+
1
);
}
SynthesisTransform/include/execute-dft-r2c.c
0 → 100644
View file @
2ad915e8
/*
* Copyright (c) 2003, 2007-14 Matteo Frigo
* Copyright (c) 2003, 2007-14 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include
"api/api.h"
#include
"rdft/rdft.h"
/* guru interface: requires care in alignment, r - i, etcetera. */
void
X
(
execute_dft_r2c
)(
const
X
(
plan
)
p
,
R
*
in
,
C
*
out
)
{
plan_rdft2
*
pln
=
(
plan_rdft2
*
)
p
->
pln
;
problem_rdft2
*
prb
=
(
problem_rdft2
*
)
p
->
prb
;
pln
->
apply
((
plan
*
)
pln
,
in
,
in
+
(
prb
->
r1
-
prb
->
r0
),
out
[
0
],
out
[
0
]
+
1
);
}
SynthesisTransform/include/execute-dft.c
0 → 100644
View file @
2ad915e8
/*
* Copyright (c) 2003, 2007-14 Matteo Frigo
* Copyright (c) 2003, 2007-14 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include
"api/api.h"
#include
"dft/dft.h"
/* guru interface: requires care in alignment etcetera. */
void
X
(
execute_dft
)(
const
X
(
plan
)
p
,
C
*
in
,
C
*
out
)
{
plan_dft
*
pln
=
(
plan_dft
*
)
p
->
pln
;
if
(
p
->
sign
==
FFT_SIGN
)
pln
->
apply
((
plan
*
)
pln
,
in
[
0
],
in
[
0
]
+
1
,
out
[
0
],
out
[
0
]
+
1
);
else
pln
->
apply
((
plan
*
)
pln
,
in
[
0
]
+
1
,
in
[
0
],
out
[
0
]
+
1
,
out
[
0
]);
}
SynthesisTransform/include/execute-r2r.c
0 → 100644
View file @
2ad915e8
/*
* Copyright (c) 2003, 2007-14 Matteo Frigo
* Copyright (c) 2003, 2007-14 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include
"api/api.h"
#include
"rdft/rdft.h"
/* guru interface: requires care in alignment, etcetera. */
void
X
(
execute_r2r
)(
const
X
(
plan
)
p
,
R
*
in
,
R
*
out
)
{
plan_rdft
*
pln
=
(
plan_rdft
*
)
p
->
pln
;
pln
->
apply
((
plan
*
)
pln
,
in
,
out
);
}
SynthesisTransform/include/execute-split-dft-c2r.c
0 → 100644
View file @
2ad915e8
/*
* Copyright (c) 2003, 2007-14 Matteo Frigo
* Copyright (c) 2003, 2007-14 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include
"api/api.h"
#include
"rdft/rdft.h"
/* guru interface: requires care in alignment, r - i, etcetera. */
void
X
(
execute_split_dft_c2r
)(
const
X
(
plan
)
p
,
R
*
ri
,
R
*
ii
,
R
*
out
)
{
plan_rdft2
*
pln
=
(
plan_rdft2
*
)
p
->
pln
;
problem_rdft2
*
prb
=
(
problem_rdft2
*
)
p
->
prb
;
pln
->
apply
((
plan
*
)
pln
,
out
,
out
+
(
prb
->
r1
-
prb
->
r0
),
ri
,
ii
);
}
SynthesisTransform/include/execute-split-dft-r2c.c
0 → 100644
View file @
2ad915e8
/*
* Copyright (c) 2003, 2007-14 Matteo Frigo
* Copyright (c) 2003, 2007-14 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include
"api/api.h"
#include
"rdft/rdft.h"
/* guru interface: requires care in alignment, r - i, etcetera. */
void
X
(
execute_split_dft_r2c
)(
const
X
(
plan
)
p
,
R
*
in
,
R
*
ro
,
R
*
io
)
{
plan_rdft2
*
pln
=
(
plan_rdft2
*
)
p
->
pln
;
problem_rdft2
*
prb
=
(
problem_rdft2
*
)
p
->
prb
;
pln
->
apply
((
plan
*
)
pln
,
in
,
in
+
(
prb
->
r1
-
prb
->
r0
),
ro
,
io
);
}
SynthesisTransform/include/execute-split-dft.c
0 → 100644
View file @
2ad915e8
/*
* Copyright (c) 2003, 2007-14 Matteo Frigo
* Copyright (c) 2003, 2007-14 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include
"api/api.h"
#include
"dft/dft.h"
/* guru interface: requires care in alignment, r - i, etcetera. */
void
X
(
execute_split_dft
)(
const
X
(
plan
)
p
,
R
*
ri
,
R
*
ii
,
R
*
ro
,
R
*
io
)
{
plan_dft
*
pln
=
(
plan_dft
*
)
p
->
pln
;
pln
->
apply
((
plan
*
)
pln
,
ri
,
ii
,
ro
,
io
);
}
SynthesisTransform/include/execute.c
0 → 100644
View file @
2ad915e8
/*
* Copyright (c) 2003, 2007-14 Matteo Frigo
* Copyright (c) 2003, 2007-14 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include
"api/api.h"
void
X
(
execute
)(
const
X
(
plan
)
p
)
{
plan
*
pln
=
p
->
pln
;
pln
->
adt
->
solve
(
pln
,
p
->
prb
);
}
SynthesisTransform/include/export-wisdom-to-file.c
0 → 100644
View file @
2ad915e8
/*
* Copyright (c) 2003, 2007-14 Matteo Frigo
* Copyright (c) 2003, 2007-14 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include
"api/api.h"
void
X
(
export_wisdom_to_file
)(
FILE
*
output_file
)
{
printer
*
p
=
X
(
mkprinter_file
)(
output_file
);
planner
*
plnr
=
X
(
the_planner
)();
plnr
->
adt
->
exprt
(
plnr
,
p
);
X
(
printer_destroy
)(
p
);
}
int
X
(
export_wisdom_to_filename
)(
const
char
*
filename
)
{
FILE
*
f
=
fopen
(
filename
,
"w"
);
int
ret
;
if
(
!
f
)
return
0
;
/* error opening file */
X
(
export_wisdom_to_file
)(
f
);
ret
=
!
ferror
(
f
);
if
(
fclose
(
f
))
ret
=
0
;
/* error closing file */
return
ret
;
}
SynthesisTransform/include/export-wisdom-to-string.c
0 → 100644
View file @
2ad915e8
/*
* Copyright (c) 2003, 2007-14 Matteo Frigo
* Copyright (c) 2003, 2007-14 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include
"api/api.h"
char
*
X
(
export_wisdom_to_string
)(
void
)
{
printer
*
p
;
planner
*
plnr
=
X
(
the_planner
)();
size_t
cnt
;
char
*
s
;
p
=
X
(
mkprinter_cnt
)(
&
cnt
);
plnr
->
adt
->
exprt
(
plnr
,
p
);
X
(
printer_destroy
)(
p
);
s
=
(
char
*
)
malloc
(
sizeof
(
char
)
*
(
cnt
+
1
));
if
(
s
)
{
p
=
X
(
mkprinter_str
)(
s
);
plnr
->
adt
->
exprt
(
plnr
,
p
);
X
(
printer_destroy
)(
p
);
}
return
s
;
}
SynthesisTransform/include/export-wisdom.c
0 → 100644
View file @
2ad915e8
/*
* Copyright (c) 2003, 2007-14 Matteo Frigo
* Copyright (c) 2003, 2007-14 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include
"api/api.h"
typedef
struct
{
printer
super
;
void
(
*
write_char
)(
char
c
,
void
*
);
void
*
data
;
}
P
;
static
void
putchr_generic
(
printer
*
p_
,
char
c
)
{
P
*
p
=
(
P
*
)
p_
;
(
p
->
write_char
)(
c
,
p
->
data
);
}
void
X
(
export_wisdom
)(
void
(
*
write_char
)(
char
c
,
void
*
),
void
*
data
)
{
P
*
p
=
(
P
*
)
X
(
mkprinter
)(
sizeof
(
P
),
putchr_generic
,
0
);
planner
*
plnr
=
X
(
the_planner
)();
p
->
write_char
=
write_char
;
p
->
data
=
data
;
plnr
->
adt
->
exprt
(
plnr
,
(
printer
*
)
p
);
X
(
printer_destroy
)((
printer
*
)
p
);
}
Prev
1
2
3
4
5
6
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment