
module mshconest {      # multi-scale helix convolution, adjoint is the filter.
  use mshelix
  use hconest
  use helix
  integer, private                   :: nx, ns
  real,    dimension(:),     pointer :: x
  type( msfilter)                    :: msaa
#% _init( x, msaa)
   nx = size( x);   ns = size( msaa%lag, 2)
#% _lop( a(:), y(nx,ns))
    integer  :: is, stat1
    type (filter) :: aa
    do is = 1, ns {  
  	call onescale (is, msaa, aa)
       	call hconest_init( x, aa)
       	stat1 = hconest_lop( adj, .true., a, y(:,is))
    }
}
