program s2dw_test
! Uses
use s2dw_types_mod
use s2dw_error_mod
use s2dw_core_mod
use s2dw_fileio_mod
use omp_lib
! Calls
call getarg
call s2dw_core_analysis_flm2wav_dynamic
call s2dw_core_init_directionality
call s2dw_core_init_kernels
call s2dw_core_synthesis_wav2flm_dynamic
call s2dw_error
call s2dw_test_gen_flm
! Variables
character (len=64) :: arg
integer, parameter :: N_repeat = 1
integer :: B
integer :: N
real (kind=dp) :: alpha
integer :: J
integer :: J_max
integer :: bl_scoeff
integer :: fail = 0
integer :: seed
integer :: i_repeat
real (kind=dp), dimension (0:N_repeat-1) :: error_flm
logical :: admiss_pass
real (kind=dp) :: time_start
real (kind=dp) :: time_end
real, dimension (0:N_repeat-1) :: durations_analysis
real, dimension (0:N_repeat-1) :: durations_synthesis
complex (kind=dpc), allocatable, dimension (:,:) :: flm_orig
complex (kind=dpc), allocatable, dimension (:,:) :: flm_syn
real (kind=dp), allocatable, dimension (:,:) :: K_gamma
real (kind=dp), allocatable, dimension (:) :: Phi2
complex (kind=dpc), allocatable, dimension (:,:) :: Slm
real (kind=dp), allocatable, dimension (:) :: admiss
type (s2dw_wav_abg), allocatable, dimension (:) :: wavdyn
complex (kind=dpc), allocatable, dimension (:,:) :: scoeff
! Interfaces
interface s2dw_test_gen_flm
end program s2dw_test
Performs S2DW transform analysis and synthesis and check that the original
signal is reconstructed exactly (to numerical precision). Test is
performed on a random signal with harmonic coefficients uniformly
sampled from (-1,1).
Usage: s2dw_test B, e.g. s2dw_test 64
Author: J. D. McEwen (mcewen@mrao.cam.ac.uk)
Version: 0.1 - November 2007
character (len=64) :: arg
integer, parameter :: N_repeat = 1
integer :: B
integer :: N
real (kind=dp) :: alpha
integer :: J
integer :: J_max
integer :: bl_scoeff
integer :: fail = 0
integer :: seed
integer :: i_repeat
real (kind=dp), dimension (0:N_repeat-1) :: error_flm
logical :: admiss_pass
real (kind=dp) :: time_start
real (kind=dp) :: time_end
real, dimension (0:N_repeat-1) :: durations_analysis
real, dimension (0:N_repeat-1) :: durations_synthesis
complex (kind=dpc), allocatable, dimension (:,:) :: flm_orig
complex (kind=dpc), allocatable, dimension (:,:) :: flm_syn
real (kind=dp), allocatable, dimension (:,:) :: K_gamma
real (kind=dp), allocatable, dimension (:) :: Phi2
complex (kind=dpc), allocatable, dimension (:,:) :: Slm
real (kind=dp), allocatable, dimension (:) :: admiss
type (s2dw_wav_abg), allocatable, dimension (:) :: wavdyn
complex (kind=dpc), allocatable, dimension (:,:) :: scoeff
interface s2dw_test_gen_flm
subroutine s2dw_test_gen_flm (L, flm, seed)
integer, intent(in) :: L
complex (kind=dpc), intent(out), dimension (0:L,0:L) :: flm
integer, intent(in) :: seed
end subroutine s2dw_test_gen_flm
end interface s2dw_test_gen_flm