module: delay_intvector32
description: design a time-delay filter for vectors: delta[n-delay]. delay must be an integer. 
             delay each element of vector by "delay" samples
             32 is the length of vector
parameters: int delay 
inputs: IntVector vec_in
outputs: IntVector vec_out
classes: Filter filt0("1-z^-1","1"), Filter filt1("1-z^-1","1"), Filter filt2("1-z^-1","1"), Filter filt3("1-z^-1","1")
         Filter filt4("1-z^-1","1"), Filter filt5("1-z^-1","1"), Filter filt6("1-z^-1","1"), Filter filt7("1-z^-1","1")
         Filter filt8("1-z^-1","1"), Filter filt9("1-z^-1","1"), Filter filt10("1-z^-1","1"), Filter filt11("1-z^-1","1")
         Filter filt12("1-z^-1","1"), Filter filt13("1-z^-1","1"), Filter filt14("1-z^-1","1"), Filter filt15("1-z^-1","1")
         Filter filt16("1-z^-1","1"), Filter filt17("1-z^-1","1"), Filter filt18("1-z^-1","1"), Filter filt19("1-z^-1","1")
         Filter filt20("1-z^-1","1"), Filter filt21("1-z^-1","1"), Filter filt22("1-z^-1","1"), Filter filt23("1-z^-1","1")
         Filter filt24("1-z^-1","1"), Filter filt25("1-z^-1","1"), Filter filt26("1-z^-1","1"), Filter filt27("1-z^-1","1")
         Filter filt28("1-z^-1","1"), Filter filt29("1-z^-1","1"), Filter filt30("1-z^-1","1"), Filter filt31("1-z^-1","1")
static_variables: 
init:
  if (vec_in.get_length() != 32)
    {
     printf("error in 'delay_intvector32': input vector must have length 32\n");
     printf("  in this case, input vector '%s' has length %d\n",
     vec_in.get_name(),vec_in.get_length());
     exit(1);
    }
  filt0.set("z^-no","1","no",delay);
  filt1.set("z^-no","1","no",delay);
  filt2.set("z^-no","1","no",delay);
  filt3.set("z^-no","1","no",delay);
  filt4.set("z^-no","1","no",delay);
  filt5.set("z^-no","1","no",delay);
  filt6.set("z^-no","1","no",delay);
  filt7.set("z^-no","1","no",delay);
  filt8.set("z^-no","1","no",delay);
  filt9.set("z^-no","1","no",delay);
  filt10.set("z^-no","1","no",delay);
  filt11.set("z^-no","1","no",delay);
  filt12.set("z^-no","1","no",delay);
  filt13.set("z^-no","1","no",delay);
  filt14.set("z^-no","1","no",delay);
  filt15.set("z^-no","1","no",delay);
  filt16.set("z^-no","1","no",delay);
  filt17.set("z^-no","1","no",delay);
  filt18.set("z^-no","1","no",delay);
  filt19.set("z^-no","1","no",delay);
  filt20.set("z^-no","1","no",delay);
  filt21.set("z^-no","1","no",delay);
  filt22.set("z^-no","1","no",delay);
  filt23.set("z^-no","1","no",delay);
  filt24.set("z^-no","1","no",delay);
  filt25.set("z^-no","1","no",delay);
  filt26.set("z^-no","1","no",delay);
  filt27.set("z^-no","1","no",delay);
  filt28.set("z^-no","1","no",delay);
  filt29.set("z^-no","1","no",delay);
  filt30.set("z^-no","1","no",delay);
  filt31.set("z^-no","1","no",delay);
set_output_vector_lengths:  vec_out=32
code:
  int i;
  filt0.inp(vec_in.get_elem(0));
  vec_out.set_elem(0,(int) filt0.out);
  filt1.inp(vec_in.get_elem(1));
  vec_out.set_elem(1,(int) filt1.out);
  filt2.inp(vec_in.get_elem(2));
  vec_out.set_elem(2,(int) filt2.out);
  filt3.inp(vec_in.get_elem(3));
  vec_out.set_elem(3,(int) filt3.out);
  filt4.inp(vec_in.get_elem(4));
  vec_out.set_elem(4,(int) filt4.out);
  filt5.inp(vec_in.get_elem(5));
  vec_out.set_elem(5,(int) filt5.out);
  filt6.inp(vec_in.get_elem(6));
  vec_out.set_elem(6,(int) filt6.out);
  filt7.inp(vec_in.get_elem(7));
  vec_out.set_elem(7,(int) filt7.out);
  filt8.inp(vec_in.get_elem(8));
  vec_out.set_elem(8,(int) filt8.out);
  filt9.inp(vec_in.get_elem(9));
  vec_out.set_elem(9,(int) filt9.out);
  filt10.inp(vec_in.get_elem(10));
  vec_out.set_elem(10,(int) filt10.out);
  filt11.inp(vec_in.get_elem(11));
  vec_out.set_elem(11,(int) filt11.out);
  filt12.inp(vec_in.get_elem(12));
  vec_out.set_elem(12,(int) filt12.out);
  filt13.inp(vec_in.get_elem(13));
  vec_out.set_elem(13,(int) filt13.out);
  filt14.inp(vec_in.get_elem(14));
  vec_out.set_elem(14,(int) filt14.out);
  filt15.inp(vec_in.get_elem(15));
  vec_out.set_elem(15,(int) filt15.out);
  filt16.inp(vec_in.get_elem(16));
  vec_out.set_elem(16,(int) filt16.out);
  filt17.inp(vec_in.get_elem(17));
  vec_out.set_elem(17,(int) filt17.out);
  filt18.inp(vec_in.get_elem(18));
  vec_out.set_elem(18,(int) filt18.out);
  filt19.inp(vec_in.get_elem(19));
  vec_out.set_elem(19,(int) filt19.out);
  filt20.inp(vec_in.get_elem(20));
  vec_out.set_elem(20,(int) filt20.out);
  filt21.inp(vec_in.get_elem(21));
  vec_out.set_elem(21,(int) filt21.out);
  filt22.inp(vec_in.get_elem(22));
  vec_out.set_elem(22,(int) filt22.out);
  filt23.inp(vec_in.get_elem(23));
  vec_out.set_elem(23,(int) filt23.out);
  filt24.inp(vec_in.get_elem(24));
  vec_out.set_elem(24,(int) filt24.out);
  filt25.inp(vec_in.get_elem(25));
  vec_out.set_elem(25,(int) filt25.out);
  filt26.inp(vec_in.get_elem(26));
  vec_out.set_elem(26,(int) filt26.out);
  filt27.inp(vec_in.get_elem(27));
  vec_out.set_elem(27,(int) filt27.out);
  filt28.inp(vec_in.get_elem(28));
  vec_out.set_elem(28,(int) filt28.out);
  filt29.inp(vec_in.get_elem(29));
  vec_out.set_elem(29,(int) filt29.out);
  filt30.inp(vec_in.get_elem(30));
  vec_out.set_elem(30,(int) filt30.out);
  filt31.inp(vec_in.get_elem(31));
  vec_out.set_elem(31,(int) filt31.out);
