int buffersize = (two.getInitPeek() > two.getPeekInt()) ? two.getInitPeek() : two.getPeekInt(); buffersize = nextPow2(buffersize + 1); print ("#define BUFFERSIZE " + buffersize + "\n"); print ("#define BITS " + (buffersize - 1) + "\n"); print(two.getInputType() + " buffer[BUFFERSIZE];\n");
    private void printCircularTwoStageInitWork()     {	SIRTwoStageFilter two = (SIRTwoStageFilter)filter;	int buffersize = (two.getInitPeek() > two.getPeekInt()) ? two.getInitPeek() :	    two.getPeekInt();	buffersize = nextPow2(buffersize + 1);	print ("#define BUFFERSIZE " + buffersize + "\n");	print ("#define BITS " + (buffersize - 1) + "\n");	print(two.getInputType() + 		       " buffer[BUFFERSIZE];\n");	print(" for (i = 0; i < " + two.getInitPeek() + "; i++)\n");	print("   buffer[i] = ");	if (two.getInputType().equals(CStdType.Float))	    print("static_receive_f();\n");	else 	    print("static_receive();\n");	two.getInitWork().getBody().accept(this);		//now 	 print("\n count = 0;\n");	 if (two.getInitPeek() != two.getInitPop()) {	     print(" for (i = count + 1 + " + (two.getInitPeek() - two.getInitPop()) + "; i < count + 1 + " +		   two.getInitPeek() +		   "; i++)\n");	     print("   buffer[i & BITS] = ");	     if (two.getInputType().equals(CStdType.Float)) 		 print("static_receive_f();\n");	     else		 print("static_receive();\n");	 }	 print(" count = -1;\n");    }