module helocut { use lapfac use helicon use polydiv type( filter), private :: aa, bb real, dimension (n1*n2), allocatable :: tt #% _init( eps, n1, n2, na) real, intent (in) :: eps integer, intent (in) :: n1, n2, na aa = lapfac2( 0.001, n1, na) bb = lapfac2( eps, n1, na) call helicon_init( aa) call polydiv_init( n1*n2, bb) #% _lop (pp, qq) integer stat1, stat2 if( adj) { stat2 = polydiv_lop( adj, .false., tt, qq) stat1 = helicon_lop( adj, .true., pp, tt) } else { stat1 = helicon_lop( adj, .false., pp, tt) stat2 = polydiv_lop( adj, .true., tt, qq) } #% _close call deallocatehelix( aa) call deallocatehelix( bb) call polydiv_close() }