mirror of
https://github.com/mborgerding/kissfft.git
synced 2025-05-27 21:20:27 -04:00
Make kfc,fftnd,fftndr,fftr part of public API
Many programs explicitly use it, including those in Debian. This was raised already in kissfft#39 Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
This commit is contained in:
parent
c2e82a30e8
commit
f88d5af578
@ -40,7 +40,11 @@ if(NOT KISSFFT_FLOAT_TYPE IN_LIST KISSFFT_FLOAT_TYPE_VALID)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_library(kissfft
|
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
|
target_include_directories(kissfft PUBLIC
|
||||||
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
|
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
|
||||||
@ -114,7 +118,13 @@ if (KISSFFT_INSTALL)
|
|||||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
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")
|
set(KISSFFT_INSTALL_CMAKE "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" CACHE FILEPATH "Install destination of kissfft cmake modules")
|
||||||
mark_as_advanced(KISSFFT_INSTALL_CMAKE)
|
mark_as_advanced(KISSFFT_INSTALL_CMAKE)
|
||||||
|
@ -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)
|
target_compile_definitions(fastconvr PRIVATE REAL_FASTFIR FAST_FILT_UTIL)
|
||||||
|
|
||||||
add_kissfft_executable(fastconv kiss_fastfir.c)
|
add_kissfft_executable(fastconv kiss_fastfir.c)
|
||||||
target_compile_definitions(fastconv PRIVATE FAST_FILT_UTIL)
|
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)
|
if (KISSFFT_INSTALL)
|
||||||
@ -19,7 +19,7 @@ endif()
|
|||||||
if(NOT KISSFFT_DATATYPE MATCHES "simd")
|
if(NOT KISSFFT_DATATYPE MATCHES "simd")
|
||||||
include(FindPkgConfig)
|
include(FindPkgConfig)
|
||||||
pkg_check_modules(libpng REQUIRED IMPORTED_TARGET libpng)
|
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)
|
target_link_libraries(psdpng PRIVATE PkgConfig::libpng)
|
||||||
if (KISSFFT_INSTALL)
|
if (KISSFFT_INSTALL)
|
||||||
install(TARGETS psdpng
|
install(TARGETS psdpng
|
||||||
|
@ -40,12 +40,12 @@ call kfc_cleanup.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*forward complex FFT */
|
/*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 */
|
/*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*/
|
/*free all cached objects*/
|
||||||
void kfc_cleanup(void);
|
void KISS_FFT_API kfc_cleanup(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -17,8 +17,8 @@ extern "C" {
|
|||||||
|
|
||||||
typedef struct kiss_fftnd_state * kiss_fftnd_cfg;
|
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);
|
kiss_fftnd_cfg KISS_FFT_API 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);
|
void KISS_FFT_API kiss_fftnd(kiss_fftnd_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ extern "C" {
|
|||||||
typedef struct kiss_fftndr_state *kiss_fftndr_cfg;
|
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
|
dims[0] must be even
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ kiss_fftndr_cfg kiss_fftndr_alloc(const int *dims,int ndims,int inverse_fft,voi
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
void kiss_fftndr(
|
void KISS_FFT_API kiss_fftndr(
|
||||||
kiss_fftndr_cfg cfg,
|
kiss_fftndr_cfg cfg,
|
||||||
const kiss_fft_scalar *timedata,
|
const kiss_fft_scalar *timedata,
|
||||||
kiss_fft_cpx *freqdata);
|
kiss_fft_cpx *freqdata);
|
||||||
@ -37,7 +37,7 @@ void kiss_fftndr(
|
|||||||
output freqdata has dims[0] X dims[1] X ... X dims[ndims-1]/2+1 complex points
|
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,
|
kiss_fftndr_cfg cfg,
|
||||||
const kiss_fft_cpx *freqdata,
|
const kiss_fft_cpx *freqdata,
|
||||||
kiss_fft_scalar *timedata);
|
kiss_fft_scalar *timedata);
|
||||||
|
@ -26,7 +26,7 @@ extern "C" {
|
|||||||
typedef struct kiss_fftr_state *kiss_fftr_cfg;
|
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
|
nfft must be even
|
||||||
|
|
||||||
@ -34,13 +34,13 @@ kiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenm
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
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
|
input timedata has nfft scalar points
|
||||||
output freqdata has nfft/2+1 complex 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
|
input freqdata has nfft/2+1 complex points
|
||||||
output timedata has nfft scalar points
|
output timedata has nfft scalar points
|
||||||
|
Loading…
Reference in New Issue
Block a user