if (circular) print("   " + BUFFER + "[" + BUFFER_INDEX + " & " + BITS + "]"); else if (ratematch) print("   " + recvBuffer + "[" + recvBufferIndex + " & " + RECVBITS + "]"); else print("   " + BUFFER + "[" + BUFFER_INDEX + "]");
print("static_receive_to_mem((void*)&("); if (circular) print("   " + BUFFER + "[" + BUFFER_INDEX + " & " + BITS + "]"); else if (ratematch) print("   " + recvBuffer + "[" + recvBufferIndex + " & " + RECVBITS + "]"); else print("   " + BUFFER + "[" + BUFFER_INDEX + "]");
    private void printArrayReceive()     {	CType tapeType = filter.getInputType();		CType baseType = ((CArrayType)tapeType).getBaseType();	String dims[] = Util.makeString(((CArrayType)tapeType).getDims());		for (int i = 0; i < dims.length; i++) {	    print("for (" + ARRAY_INDEX + i + " = 0; " +		  ARRAY_INDEX + i + " < " + dims[i] + " ; " +		  ARRAY_INDEX + i + "++)\n");	}	print("{\n");	 if (circular)		print("   " + BUFFER + "[" + BUFFER_INDEX + " & " + BITS + "]");	    else if (ratematch)		print("   " + recvBuffer + "[" + recvBufferIndex + " & " + RECVBITS + "]");	    else 		print("   " + BUFFER + "[" + BUFFER_INDEX + "]");	for (int i = 0; i < dims.length; i++) 	    print("[" + ARRAY_INDEX + i + "]");		//print(" = ");	//if (baseType.equals(CStdType.Float))	///	print("static_receive_f();\n");		//else 	//   print("static_receive();\n");	print("}\n");    }