# File rbSnack/tkSnack.rb, line 1040
  def initialize( impulseList = nil, options=nil, &op_block)
    impulseList=[impulseList] if impulseList.type==Numeric
    opt={}
    opt["impulse"]=impulseList  unless impulseList==nil
    opt.update(options)         unless options==nil
    opt=SnOp::makeOps(opt, &op_block)
    raise "must supply an impulse list" unless opt.has_key?("impulse") and opt["impulse"]!=nil and opt["impulse"].length>0   
    #the next 5 lines is a kludge since tcl-Snack uses the order b0 bm...b1 
    impulseList=opt["impulse"] #kludge
    b0=impulseList.shift       #kludge  
    impulseList<<b0            #kludge
    impulseList.reverse!       #kludge
    opt["impulse"]=impulseList #kludge
    #end of kludge
    @name=Snack::exeTkCmd( ['snack::filter','iir'], opt)
  end