Skip to content

Commit

Permalink
Make kfc,fftnd,fftndr,fftr part of public API
Browse files Browse the repository at this point in the history
Many programs explicitly use it, including those in Debian.
This was raised already in kissfft#39

Signed-off-by: Vasyl Gello <[email protected]>
  • Loading branch information
basilgello committed Jan 21, 2021
1 parent c2e82a3 commit f88d5af
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 16 deletions.
14 changes: 12 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,11 @@ if(NOT KISSFFT_FLOAT_TYPE IN_LIST KISSFFT_FLOAT_TYPE_VALID)
endif()

add_library(kissfft
kiss_fft.c)
kiss_fft.c
tools/kfc.c
tools/kiss_fftnd.c
tools/kiss_fftndr.c
tools/kiss_fftr.c)

target_include_directories(kissfft PUBLIC
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
Expand Down Expand Up @@ -114,7 +118,13 @@ if (KISSFFT_INSTALL)
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
install(FILES "kiss_fft.h" "kissfft.hh" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
install(FILES kiss_fft.h
kissfft.hh
tools/kfc.h
tools/kiss_fftnd.h
tools/kiss_fftndr.h
tools/kiss_fftr.h
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")

set(KISSFFT_INSTALL_CMAKE "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" CACHE FILEPATH "Install destination of kissfft cmake modules")
mark_as_advanced(KISSFFT_INSTALL_CMAKE)
Expand Down
6 changes: 3 additions & 3 deletions tools/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
add_kissfft_executable(fastconvr kiss_fastfir.c kiss_fftr.c)
add_kissfft_executable(fastconvr kiss_fastfir.c)
target_compile_definitions(fastconvr PRIVATE REAL_FASTFIR FAST_FILT_UTIL)

add_kissfft_executable(fastconv kiss_fastfir.c)
target_compile_definitions(fastconv PRIVATE FAST_FILT_UTIL)

add_kissfft_executable(fft fftutil.c kiss_fftnd.c kiss_fftr.c kiss_fftndr.c)
add_kissfft_executable(fft fftutil.c)


if (KISSFFT_INSTALL)
Expand All @@ -19,7 +19,7 @@ endif()
if(NOT KISSFFT_DATATYPE MATCHES "simd")
include(FindPkgConfig)
pkg_check_modules(libpng REQUIRED IMPORTED_TARGET libpng)
add_kissfft_executable(psdpng psdpng.c kiss_fftr.c)
add_kissfft_executable(psdpng psdpng.c)
target_link_libraries(psdpng PRIVATE PkgConfig::libpng)
if (KISSFFT_INSTALL)
install(TARGETS psdpng
Expand Down
6 changes: 3 additions & 3 deletions tools/kfc.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,12 @@ call kfc_cleanup.
*/

/*forward complex FFT */
void kfc_fft(int nfft, const kiss_fft_cpx * fin,kiss_fft_cpx * fout);
void KISS_FFT_API kfc_fft(int nfft, const kiss_fft_cpx * fin,kiss_fft_cpx * fout);
/*reverse complex FFT */
void kfc_ifft(int nfft, const kiss_fft_cpx * fin,kiss_fft_cpx * fout);
void KISS_FFT_API kfc_ifft(int nfft, const kiss_fft_cpx * fin,kiss_fft_cpx * fout);

/*free all cached objects*/
void kfc_cleanup(void);
void KISS_FFT_API kfc_cleanup(void);

#ifdef __cplusplus
}
Expand Down
4 changes: 2 additions & 2 deletions tools/kiss_fftnd.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ extern "C" {

typedef struct kiss_fftnd_state * kiss_fftnd_cfg;

kiss_fftnd_cfg kiss_fftnd_alloc(const int *dims,int ndims,int inverse_fft,void*mem,size_t*lenmem);
void kiss_fftnd(kiss_fftnd_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout);
kiss_fftnd_cfg KISS_FFT_API kiss_fftnd_alloc(const int *dims,int ndims,int inverse_fft,void*mem,size_t*lenmem);
void KISS_FFT_API kiss_fftnd(kiss_fftnd_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout);

#ifdef __cplusplus
}
Expand Down
6 changes: 3 additions & 3 deletions tools/kiss_fftndr.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ extern "C" {
typedef struct kiss_fftndr_state *kiss_fftndr_cfg;


kiss_fftndr_cfg kiss_fftndr_alloc(const int *dims,int ndims,int inverse_fft,void*mem,size_t*lenmem);
kiss_fftndr_cfg KISS_FFT_API kiss_fftndr_alloc(const int *dims,int ndims,int inverse_fft,void*mem,size_t*lenmem);
/*
dims[0] must be even
If you don't care to allocate space, use mem = lenmem = NULL
*/


void kiss_fftndr(
void KISS_FFT_API kiss_fftndr(
kiss_fftndr_cfg cfg,
const kiss_fft_scalar *timedata,
kiss_fft_cpx *freqdata);
Expand All @@ -37,7 +37,7 @@ void kiss_fftndr(
output freqdata has dims[0] X dims[1] X ... X dims[ndims-1]/2+1 complex points
*/

void kiss_fftndri(
void KISS_FFT_API kiss_fftndri(
kiss_fftndr_cfg cfg,
const kiss_fft_cpx *freqdata,
kiss_fft_scalar *timedata);
Expand Down
6 changes: 3 additions & 3 deletions tools/kiss_fftr.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,21 @@ extern "C" {
typedef struct kiss_fftr_state *kiss_fftr_cfg;


kiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem);
kiss_fftr_cfg KISS_FFT_API kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem);
/*
nfft must be even
If you don't care to allocate space, use mem = lenmem = NULL
*/


void kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata);
void KISS_FFT_API kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata);
/*
input timedata has nfft scalar points
output freqdata has nfft/2+1 complex points
*/

void kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata);
void KISS_FFT_API kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata);
/*
input freqdata has nfft/2+1 complex points
output timedata has nfft scalar points
Expand Down

0 comments on commit f88d5af

Please sign in to comment.