fftw3.f03 | fftw3.f03 | |||
---|---|---|---|---|
skipping to change at line 595 | skipping to change at line 595 | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
type(C_PTR), value :: output_file | type(C_PTR), value :: output_file | |||
end subroutine fftw_fprint_plan | end subroutine fftw_fprint_plan | |||
subroutine fftw_print_plan(p) bind(C, name='fftw_print_plan') | subroutine fftw_print_plan(p) bind(C, name='fftw_print_plan') | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
end subroutine fftw_print_plan | end subroutine fftw_print_plan | |||
type(C_PTR) function fftw_sprint_plan(p) bind(C, name='fftw_sprint_plan | ||||
') | ||||
import | ||||
type(C_PTR), value :: p | ||||
end function fftw_sprint_plan | ||||
type(C_PTR) function fftw_malloc(n) bind(C, name='fftw_malloc') | type(C_PTR) function fftw_malloc(n) bind(C, name='fftw_malloc') | |||
import | import | |||
integer(C_SIZE_T), value :: n | integer(C_SIZE_T), value :: n | |||
end function fftw_malloc | end function fftw_malloc | |||
type(C_PTR) function fftw_alloc_real(n) bind(C, name='fftw_alloc_real') | type(C_PTR) function fftw_alloc_real(n) bind(C, name='fftw_alloc_real') | |||
import | import | |||
integer(C_SIZE_T), value :: n | integer(C_SIZE_T), value :: n | |||
end function fftw_alloc_real | end function fftw_alloc_real | |||
skipping to change at line 633 | skipping to change at line 638 | |||
real(C_DOUBLE) function fftw_estimate_cost(p) bind(C, name='fftw_estima te_cost') | real(C_DOUBLE) function fftw_estimate_cost(p) bind(C, name='fftw_estima te_cost') | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
end function fftw_estimate_cost | end function fftw_estimate_cost | |||
real(C_DOUBLE) function fftw_cost(p) bind(C, name='fftw_cost') | real(C_DOUBLE) function fftw_cost(p) bind(C, name='fftw_cost') | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
end function fftw_cost | end function fftw_cost | |||
integer(C_INT) function fftw_alignment_of(p) bind(C, name='fftw_alignme | ||||
nt_of') | ||||
import | ||||
real(C_DOUBLE), dimension(*), intent(out) :: p | ||||
end function fftw_alignment_of | ||||
end interface | end interface | |||
type, bind(C) :: fftwf_iodim | type, bind(C) :: fftwf_iodim | |||
integer(C_INT) n, is, os | integer(C_INT) n, is, os | |||
end type fftwf_iodim | end type fftwf_iodim | |||
type, bind(C) :: fftwf_iodim64 | type, bind(C) :: fftwf_iodim64 | |||
integer(C_INTPTR_T) n, is, os | integer(C_INTPTR_T) n, is, os | |||
end type fftwf_iodim64 | end type fftwf_iodim64 | |||
interface | interface | |||
skipping to change at line 1188 | skipping to change at line 1198 | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
type(C_PTR), value :: output_file | type(C_PTR), value :: output_file | |||
end subroutine fftwf_fprint_plan | end subroutine fftwf_fprint_plan | |||
subroutine fftwf_print_plan(p) bind(C, name='fftwf_print_plan') | subroutine fftwf_print_plan(p) bind(C, name='fftwf_print_plan') | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
end subroutine fftwf_print_plan | end subroutine fftwf_print_plan | |||
type(C_PTR) function fftwf_sprint_plan(p) bind(C, name='fftwf_sprint_pl | ||||
an') | ||||
import | ||||
type(C_PTR), value :: p | ||||
end function fftwf_sprint_plan | ||||
type(C_PTR) function fftwf_malloc(n) bind(C, name='fftwf_malloc') | type(C_PTR) function fftwf_malloc(n) bind(C, name='fftwf_malloc') | |||
import | import | |||
integer(C_SIZE_T), value :: n | integer(C_SIZE_T), value :: n | |||
end function fftwf_malloc | end function fftwf_malloc | |||
type(C_PTR) function fftwf_alloc_real(n) bind(C, name='fftwf_alloc_real ') | type(C_PTR) function fftwf_alloc_real(n) bind(C, name='fftwf_alloc_real ') | |||
import | import | |||
integer(C_SIZE_T), value :: n | integer(C_SIZE_T), value :: n | |||
end function fftwf_alloc_real | end function fftwf_alloc_real | |||
skipping to change at line 1226 | skipping to change at line 1241 | |||
real(C_DOUBLE) function fftwf_estimate_cost(p) bind(C, name='fftwf_esti mate_cost') | real(C_DOUBLE) function fftwf_estimate_cost(p) bind(C, name='fftwf_esti mate_cost') | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
end function fftwf_estimate_cost | end function fftwf_estimate_cost | |||
real(C_DOUBLE) function fftwf_cost(p) bind(C, name='fftwf_cost') | real(C_DOUBLE) function fftwf_cost(p) bind(C, name='fftwf_cost') | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
end function fftwf_cost | end function fftwf_cost | |||
integer(C_INT) function fftwf_alignment_of(p) bind(C, name='fftwf_align | ||||
ment_of') | ||||
import | ||||
real(C_FLOAT), dimension(*), intent(out) :: p | ||||
end function fftwf_alignment_of | ||||
end interface | end interface | |||
End of changes. 4 change blocks. | ||||
0 lines changed or deleted | 24 lines changed or added | |||
fftw3.h | fftw3.h | |||
---|---|---|---|---|
/* | /* | |||
* Copyright (c) 2003, 2007-11 Matteo Frigo | * Copyright (c) 2003, 2007-14 Matteo Frigo | |||
* Copyright (c) 2003, 2007-11 Massachusetts Institute of Technology | * Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology | |||
* | * | |||
* The following statement of license applies *only* to this header file, | * The following statement of license applies *only* to this header file, | |||
* and *not* to the other files distributed with FFTW or derived therefrom: | * and *not* to the other files distributed with FFTW or derived therefrom: | |||
* | * | |||
* Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | * modification, are permitted provided that the following conditions | |||
* are met: | * are met: | |||
* | * | |||
* 1. Redistributions of source code must retain the above copyright | * 1. Redistributions of source code must retain the above copyright | |||
* notice, this list of conditions and the following disclaimer. | * notice, this list of conditions and the following disclaimer. | |||
skipping to change at line 335 | skipping to change at line 335 | |||
FFTW_EXTERN void X(export_wisdom)(X(write_char_func) write_char, \ | FFTW_EXTERN void X(export_wisdom)(X(write_char_func) write_char, \ | |||
void *data); \ | void *data); \ | |||
FFTW_EXTERN int X(import_system_wisdom)(void); \ | FFTW_EXTERN int X(import_system_wisdom)(void); \ | |||
FFTW_EXTERN int X(import_wisdom_from_filename)(const char *filename); \ | FFTW_EXTERN int X(import_wisdom_from_filename)(const char *filename); \ | |||
FFTW_EXTERN int X(import_wisdom_from_file)(FILE *input_file); \ | FFTW_EXTERN int X(import_wisdom_from_file)(FILE *input_file); \ | |||
FFTW_EXTERN int X(import_wisdom_from_string)(const char *input_string); \ | FFTW_EXTERN int X(import_wisdom_from_string)(const char *input_string); \ | |||
FFTW_EXTERN int X(import_wisdom)(X(read_char_func) read_char, void *data); \ | FFTW_EXTERN int X(import_wisdom)(X(read_char_func) read_char, void *data); \ | |||
\ | \ | |||
FFTW_EXTERN void X(fprint_plan)(const X(plan) p, FILE *output_file); \ | FFTW_EXTERN void X(fprint_plan)(const X(plan) p, FILE *output_file); \ | |||
FFTW_EXTERN void X(print_plan)(const X(plan) p); \ | FFTW_EXTERN void X(print_plan)(const X(plan) p); \ | |||
FFTW_EXTERN char *X(sprint_plan)(const X(plan) p); \ | ||||
\ | \ | |||
FFTW_EXTERN void *X(malloc)(size_t n); \ | FFTW_EXTERN void *X(malloc)(size_t n); \ | |||
FFTW_EXTERN R *X(alloc_real)(size_t n); \ | FFTW_EXTERN R *X(alloc_real)(size_t n); \ | |||
FFTW_EXTERN C *X(alloc_complex)(size_t n); \ | FFTW_EXTERN C *X(alloc_complex)(size_t n); \ | |||
FFTW_EXTERN void X(free)(void *p); \ | FFTW_EXTERN void X(free)(void *p); \ | |||
\ | \ | |||
FFTW_EXTERN void X(flops)(const X(plan) p, \ | FFTW_EXTERN void X(flops)(const X(plan) p, \ | |||
double *add, double *mul, double *fmas); \ | double *add, double *mul, double *fmas); \ | |||
FFTW_EXTERN double X(estimate_cost)(const X(plan) p); \ | FFTW_EXTERN double X(estimate_cost)(const X(plan) p); \ | |||
FFTW_EXTERN double X(cost)(const X(plan) p); \ | FFTW_EXTERN double X(cost)(const X(plan) p); \ | |||
\ | \ | |||
FFTW_EXTERN const char X(version)[]; \ | FFTW_EXTERN int X(alignment_of)(R *p); | |||
\ | ||||
FFTW_EXTERN const char X(version)[]; | ||||
\ | ||||
FFTW_EXTERN const char X(cc)[]; \ | FFTW_EXTERN const char X(cc)[]; \ | |||
FFTW_EXTERN const char X(codelet_optim)[]; | FFTW_EXTERN const char X(codelet_optim)[]; | |||
/* end of FFTW_DEFINE_API macro */ | /* end of FFTW_DEFINE_API macro */ | |||
FFTW_DEFINE_API(FFTW_MANGLE_DOUBLE, double, fftw_complex) | FFTW_DEFINE_API(FFTW_MANGLE_DOUBLE, double, fftw_complex) | |||
FFTW_DEFINE_API(FFTW_MANGLE_FLOAT, float, fftwf_complex) | FFTW_DEFINE_API(FFTW_MANGLE_FLOAT, float, fftwf_complex) | |||
FFTW_DEFINE_API(FFTW_MANGLE_LONG_DOUBLE, long double, fftwl_complex) | FFTW_DEFINE_API(FFTW_MANGLE_LONG_DOUBLE, long double, fftwl_complex) | |||
/* __float128 (quad precision) is a gcc extension on i386, x86_64, and ia64 | /* __float128 (quad precision) is a gcc extension on i386, x86_64, and ia64 | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 7 lines changed or added | |||
fftw3l.f03 | fftw3l.f03 | |||
---|---|---|---|---|
skipping to change at line 556 | skipping to change at line 556 | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
type(C_PTR), value :: output_file | type(C_PTR), value :: output_file | |||
end subroutine fftwl_fprint_plan | end subroutine fftwl_fprint_plan | |||
subroutine fftwl_print_plan(p) bind(C, name='fftwl_print_plan') | subroutine fftwl_print_plan(p) bind(C, name='fftwl_print_plan') | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
end subroutine fftwl_print_plan | end subroutine fftwl_print_plan | |||
type(C_PTR) function fftwl_sprint_plan(p) bind(C, name='fftwl_sprint_pl | ||||
an') | ||||
import | ||||
type(C_PTR), value :: p | ||||
end function fftwl_sprint_plan | ||||
type(C_PTR) function fftwl_malloc(n) bind(C, name='fftwl_malloc') | type(C_PTR) function fftwl_malloc(n) bind(C, name='fftwl_malloc') | |||
import | import | |||
integer(C_SIZE_T), value :: n | integer(C_SIZE_T), value :: n | |||
end function fftwl_malloc | end function fftwl_malloc | |||
type(C_PTR) function fftwl_alloc_real(n) bind(C, name='fftwl_alloc_real ') | type(C_PTR) function fftwl_alloc_real(n) bind(C, name='fftwl_alloc_real ') | |||
import | import | |||
integer(C_SIZE_T), value :: n | integer(C_SIZE_T), value :: n | |||
end function fftwl_alloc_real | end function fftwl_alloc_real | |||
skipping to change at line 594 | skipping to change at line 599 | |||
real(C_DOUBLE) function fftwl_estimate_cost(p) bind(C, name='fftwl_esti mate_cost') | real(C_DOUBLE) function fftwl_estimate_cost(p) bind(C, name='fftwl_esti mate_cost') | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
end function fftwl_estimate_cost | end function fftwl_estimate_cost | |||
real(C_DOUBLE) function fftwl_cost(p) bind(C, name='fftwl_cost') | real(C_DOUBLE) function fftwl_cost(p) bind(C, name='fftwl_cost') | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
end function fftwl_cost | end function fftwl_cost | |||
integer(C_INT) function fftwl_alignment_of(p) bind(C, name='fftwl_align | ||||
ment_of') | ||||
import | ||||
real(C_LONG_DOUBLE), dimension(*), intent(out) :: p | ||||
end function fftwl_alignment_of | ||||
end interface | end interface | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 12 lines changed or added | |||
fftw3q.f03 | fftw3q.f03 | |||
---|---|---|---|---|
skipping to change at line 556 | skipping to change at line 556 | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
type(C_PTR), value :: output_file | type(C_PTR), value :: output_file | |||
end subroutine fftwq_fprint_plan | end subroutine fftwq_fprint_plan | |||
subroutine fftwq_print_plan(p) bind(C, name='fftwq_print_plan') | subroutine fftwq_print_plan(p) bind(C, name='fftwq_print_plan') | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
end subroutine fftwq_print_plan | end subroutine fftwq_print_plan | |||
type(C_PTR) function fftwq_sprint_plan(p) bind(C, name='fftwq_sprint_pl | ||||
an') | ||||
import | ||||
type(C_PTR), value :: p | ||||
end function fftwq_sprint_plan | ||||
type(C_PTR) function fftwq_malloc(n) bind(C, name='fftwq_malloc') | type(C_PTR) function fftwq_malloc(n) bind(C, name='fftwq_malloc') | |||
import | import | |||
integer(C_SIZE_T), value :: n | integer(C_SIZE_T), value :: n | |||
end function fftwq_malloc | end function fftwq_malloc | |||
! Unable to generate Fortran interface for fftwq_alloc_real | ! Unable to generate Fortran interface for fftwq_alloc_real | |||
type(C_PTR) function fftwq_alloc_complex(n) bind(C, name='fftwq_alloc_c omplex') | type(C_PTR) function fftwq_alloc_complex(n) bind(C, name='fftwq_alloc_c omplex') | |||
import | import | |||
integer(C_SIZE_T), value :: n | integer(C_SIZE_T), value :: n | |||
end function fftwq_alloc_complex | end function fftwq_alloc_complex | |||
skipping to change at line 590 | skipping to change at line 595 | |||
real(C_DOUBLE) function fftwq_estimate_cost(p) bind(C, name='fftwq_esti mate_cost') | real(C_DOUBLE) function fftwq_estimate_cost(p) bind(C, name='fftwq_esti mate_cost') | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
end function fftwq_estimate_cost | end function fftwq_estimate_cost | |||
real(C_DOUBLE) function fftwq_cost(p) bind(C, name='fftwq_cost') | real(C_DOUBLE) function fftwq_cost(p) bind(C, name='fftwq_cost') | |||
import | import | |||
type(C_PTR), value :: p | type(C_PTR), value :: p | |||
end function fftwq_cost | end function fftwq_cost | |||
integer(C_INT) function fftwq_alignment_of(p) bind(C, name='fftwq_align | ||||
ment_of') | ||||
import | ||||
real(16), dimension(*), intent(out) :: p | ||||
end function fftwq_alignment_of | ||||
end interface | end interface | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 12 lines changed or added | |||