Binary compatibility report for the FFTW library  between 2.1.5 and 3.0 versions on x86

Test Info


Library NameFFTW
Version #12.1.5
Version #23.0
CPU Architecturex86
GCC Version4.6.1

Test Results


Total Header Files2
Total Shared Libraries2
Total Symbols / Types56 / 31
VerdictIncompatible
(77.68%)

Problem Summary


SeverityCount
Added Symbols-40
Removed SymbolsHigh43
Problems with
Data Types
High0
Medium0
Low1
Problems with
Symbols
High0
Medium1
Low13
Problems with
Constants
Low2
Other Changes-0

Added Symbols (40)


fftw3.h, libfftw3.so.3.0.0
fftw_cc [data]
fftw_cleanup ( )
fftw_codelet_optim [data]
fftw_execute fftw_plan_s* const p )
fftw_execute_dft ( fftw_plan_s* const p, fftw_complex* in, fftw_complex* out )
fftw_execute_dft_c2r ( fftw_plan_s* const p, fftw_complex* in, double* out )
fftw_execute_dft_r2c ( fftw_plan_s* const p, double* in, fftw_complex* out )
fftw_execute_r2r ( fftw_plan_s* const p, double* in, double* out )
fftw_execute_split_dft ( fftw_plan_s* const p, double* ri, double* ii, double* ro, double* io )
fftw_execute_split_dft_c2r ( fftw_plan_s* const p, double* ri, double* ii, double* out )
fftw_execute_split_dft_r2c ( fftw_plan_s* const p, double* in, double* ro, double* io )
fftw_flops ( fftw_plan_s* const p, double* add, double* mul, double* fma )
fftw_import_system_wisdom ( )
fftw_plan_dft int rank, int const* n, fftw_complex* in, fftw_complex* out, int sign, unsigned int flags )
fftw_plan_dft_1d int n, fftw_complex* in, fftw_complex* out, int sign, unsigned int flags )
fftw_plan_dft_2d int nx, int ny, fftw_complex* in, fftw_complex* out, int sign, unsigned int flags )
fftw_plan_dft_3d int nx, int ny, int nz, fftw_complex* in, fftw_complex* out, int sign, unsigned int flags )
fftw_plan_dft_c2r int rank, int const* n, fftw_complex* in, double* out, unsigned int flags )
fftw_plan_dft_c2r_1d int n, fftw_complex* in, double* out, unsigned int flags )
fftw_plan_dft_c2r_2d int nx, int ny, fftw_complex* in, double* out, unsigned int flags )
fftw_plan_dft_c2r_3d int nx, int ny, int nz, fftw_complex* in, double* out, unsigned int flags )
fftw_plan_dft_r2c int rank, int const* n, double* in, fftw_complex* out, unsigned int flags )
fftw_plan_dft_r2c_1d int n, double* in, fftw_complex* out, unsigned int flags )
fftw_plan_dft_r2c_2d int nx, int ny, double* in, fftw_complex* out, unsigned int flags )
fftw_plan_dft_r2c_3d int nx, int ny, int nz, double* in, fftw_complex* out, unsigned int flags )
fftw_plan_guru_dft int rank, fftw_iodim const* dims, int howmany_rank, fftw_iodim const* howmany_dims, fftw_complex* in, fftw_complex* out, int sign, unsigned int flags )
fftw_plan_guru_dft_c2r int rank, fftw_iodim const* dims, int howmany_rank, fftw_iodim const* howmany_dims, fftw_complex* in, double* out, unsigned int flags )
fftw_plan_guru_dft_r2c int rank, fftw_iodim const* dims, int howmany_rank, fftw_iodim const* howmany_dims, double* in, fftw_complex* out, unsigned int flags )
fftw_plan_guru_r2r int rank, fftw_iodim const* dims, int howmany_rank, fftw_iodim const* howmany_dims, double* in, double* out, fftw_r2r_kind const* kind, unsigned int flags )
fftw_plan_guru_split_dft int rank, fftw_iodim const* dims, int howmany_rank, fftw_iodim const* howmany_dims, double* ri, double* ii, double* ro, double* io, unsigned int flags )
fftw_plan_guru_split_dft_c2r int rank, fftw_iodim const* dims, int howmany_rank, fftw_iodim const* howmany_dims, double* ri, double* ii, double* out, unsigned int flags )
fftw_plan_guru_split_dft_r2c int rank, fftw_iodim const* dims, int howmany_rank, fftw_iodim const* howmany_dims, double* in, double* ro, double* io, unsigned int flags )
fftw_plan_many_dft int rank, int const* n, int howmany, fftw_complex* in, int const* inembed, int istride, int idist, fftw_complex* out, int const* onembed, int ostride, int odist, int sign, unsigned int flags )
fftw_plan_many_dft_c2r int rank, int const* n, int howmany, fftw_complex* in, int const* inembed, int istride, int idist, double* out, int const* onembed, int ostride, int odist, unsigned int flags )
fftw_plan_many_dft_r2c int rank, int const* n, int howmany, double* in, int const* inembed, int istride, int idist, fftw_complex* out, int const* onembed, int ostride, int odist, unsigned int flags )
fftw_plan_many_r2r int rank, int const* n, int howmany, double* in, int const* inembed, int istride, int idist, double* out, int const* onembed, int ostride, int odist, fftw_r2r_kind const* kind, unsigned int flags )
fftw_plan_r2r int rank, int const* n, double* in, double* out, fftw_r2r_kind const* kind, unsigned int flags )
fftw_plan_r2r_1d int n, double* in, double* out, fftw_r2r_kind kind, unsigned int flags )
fftw_plan_r2r_2d int nx, int ny, double* in, double* out, fftw_r2r_kind kindx, fftw_r2r_kind kindy, unsigned int flags )
fftw_plan_r2r_3d int nx, int ny, int nz, double* in, double* out, fftw_r2r_kind kindx, fftw_r2r_kind kindy, fftw_r2r_kind kindz, unsigned int flags )

to the top

Removed Symbols (43)


fftw.h, libfftw.so.2.0.7
fftw ( fftw_plan_struct* plan, int howmany, fftw_complex* in, int istride, int idist, fftw_complex* out, int ostride, int odist )
fftw2d_create_plan int nx, int ny, fftw_direction dir, int flags )
fftw2d_create_plan_specific int nx, int ny, fftw_direction dir, int flags, fftw_complex* in, int istride, fftw_complex* out, int ostride )
fftw3d_create_plan int nx, int ny, int nz, fftw_direction dir, int flags )
fftw3d_create_plan_specific int nx, int ny, int nz, fftw_direction dir, int flags, fftw_complex* in, int istride, fftw_complex* out, int ostride )
fftw_check_memory_leaks ( )
fftw_create_plan int n, fftw_direction dir, int flags )
fftw_create_plan_specific int n, fftw_direction dir, int flags, fftw_complex* in, int istride, fftw_complex* out, int ostride )
fftw_die char const* s )
fftw_die_hook [data]
fftw_free_hook [data]
fftw_malloc_hook [data]
fftw_one ( fftw_plan_struct* plan, fftw_complex* in, fftw_complex* out )
fftw_print_max_memory_usage ( )
fftw_sizeof_fftw_real ( )
fftwnd ( fftwnd_plan plan, int howmany, fftw_complex* in, int istride, int idist, fftw_complex* out, int ostride, int odist )
fftwnd_create_plan int rank, int const* n, fftw_direction dir, int flags )
fftwnd_create_plan_specific int rank, int const* n, fftw_direction dir, int flags, fftw_complex* in, int istride, fftw_complex* out, int ostride )
fftwnd_destroy_plan fftwnd_plan plan )
fftwnd_fprint_plan FILE* f, fftwnd_plan p )
fftwnd_one fftwnd_plan p, fftw_complex* in, fftw_complex* out )
fftwnd_print_plan fftwnd_plan p )

rfftw.h, librfftw.so.2.0.7
rfftw rfftw_plan plan, int howmany, fftw_real* in, int istride, int idist, fftw_real* out, int ostride, int odist )
rfftw2d_create_plan int nx, int ny, fftw_direction dir, int flags )
rfftw2d_create_plan_specific int nx, int ny, fftw_direction dir, int flags, fftw_real* in, int istride, fftw_real* out, int ostride )
rfftw3d_create_plan int nx, int ny, int nz, fftw_direction dir, int flags )
rfftw3d_create_plan_specific int nx, int ny, int nz, fftw_direction dir, int flags, fftw_real* in, int istride, fftw_real* out, int ostride )
rfftw_create_plan int n, fftw_direction dir, int flags )
rfftw_create_plan_specific int n, fftw_direction dir, int flags, fftw_real* in, int istride, fftw_real* out, int ostride )
rfftw_destroy_plan rfftw_plan plan )
rfftw_executor_simple int n, fftw_real* in, fftw_real* out, fftw_plan_node* p, int istride, int ostride, fftw_recurse_kind recurse_kind )
rfftw_fprint_plan FILE* f, rfftw_plan p )
rfftw_one rfftw_plan plan, fftw_real* in, fftw_real* out )
rfftw_print_plan rfftw_plan p )
rfftwnd_complex_to_real rfftwnd_plan p, int howmany, fftw_complex* in, int istride, int idist, fftw_real* out, int ostride, int odist )
rfftwnd_create_plan int rank, int const* n, fftw_direction dir, int flags )
rfftwnd_create_plan_specific int rank, int const* n, fftw_direction dir, int flags, fftw_real* in, int istride, fftw_real* out, int ostride )
rfftwnd_destroy_plan rfftwnd_plan plan )
rfftwnd_fprint_plan FILE* f, rfftwnd_plan plan )
rfftwnd_one_complex_to_real rfftwnd_plan p, fftw_complex* in, fftw_real* out )
rfftwnd_one_real_to_complex rfftwnd_plan p, fftw_real* in, fftw_complex* out )
rfftwnd_print_plan rfftwnd_plan plan )
rfftwnd_real_to_complex rfftwnd_plan p, int howmany, fftw_real* in, int istride, int idist, fftw_complex* out, int ostride, int odist )

to the top

Problems with Symbols, Medium Severity (1)


fftw.h, libfftw.so.2.0.7
[+] fftw_version [data] (1)

to the top

Problems with Data Types, Low Severity (1)


fftw.h
[+] typedef fftw_plan (1)

to the top

Problems with Symbols, Low Severity (13)


fftw.h, libfftw.so.2.0.7
[+] fftw_destroy_plan fftw_plan_struct* plan ) (1)
[+] fftw_export_wisdom ( void(*emitter)(char, void*), void* data ) (1)
[+] fftw_fprint_plan FILE* f, fftw_plan_struct* plan ) (4)
[+] fftw_import_wisdom int(*g)(void*), void* data ) (2)
[+] fftw_import_wisdom_from_file FILE* input_file ) (1)
[+] fftw_import_wisdom_from_string char const* input_string ) (1)
[+] fftw_print_plan fftw_plan_struct* plan ) (2)
[+] fftw_version [data] (1)

to the top

Problems with Constants (2)


fftw.h
[+] FFTW_ESTIMATE
[+] FFTW_MEASURE

to the top

Header Files (2)


fftw.h
rfftw.h

to the top

Shared Libraries (2)


libfftw.so.2.0.7
librfftw.so.2.0.7

to the top




Generated on Wed Dec 14 18:37:11 2011 for FFTW by ABI Compliance Checker 1.96  
A tool for checking backward binary compatibility of a shared C/C++ library API