print("static inline void static_send_from_mem(void *val) instr_one_input(\"lw $csto,0(%0)\");\n"); print("static inline void static_receive_to_mem(void *val) instr_one_input(\"sw $csti,0(%0)\");\n");
    public void visitFilter(SIRFilter self,			    SIRFilterIter iter) {	//       System.out.println(self.getName());		//Entry point of the visitor	print("#include <raw.h>\n");	print("#include <stdlib.h>\n");	print("#include <math.h>\n\n");			//print the inline asm         print("static inline void static_send_from_mem(void *val) instr_one_input(\"lw $csto,0(%0)\");\n");        print("static inline void static_receive_to_mem(void *val) instr_one_input(\"sw $csti,0(%0)\");\n");	//print the extern for the function to init the 	//switch	print("void raw_init();\n");        print("void raw_init2();\n");	    			print("unsigned int " + FLOAT_HEADER_WORD + ";\n");	print("unsigned int " + INT_HEADER_WORD + ";\n");	//print the methods used for decoupled execution	if (!self.getInputType().equals(CStdType.Void))	    print("void get(void *v) {*((" + self.getInputType() + "*)v) = (" + self.getInputType() + ") 1;}\n"); 	if (!self.getOutputType().equals(CStdType.Void)) {	    print(self.getOutputType() + " __test__;\n");	    print("void put(" + self.getOutputType() + " i) {__test__ = i;}\n");	}	//Visit fields declared in the filter class	JFieldDeclaration[] fields = self.getFields();	for (int i = 0; i < fields.length; i++)	   fields[i].accept(this);		//visit methods of filter, print the declaration first	declOnly = true;	JMethodDeclaration[] methods = self.getMethods();	for (int i =0; i < methods.length; i++)	    methods[i].accept(this);	//now print the functions with body	declOnly = false;	for (int i =0; i < methods.length; i++) {	    methods[i].accept(this);		}		print("void begin(void) {\n");	print("  raw_init();\n");	print(FLOAT_HEADER_WORD + " = construct_dyn_hdr(3, 1, 0, 0, 0, 3, 0);\n");	print(INT_HEADER_WORD + " = construct_dyn_hdr(3, 1, 1, 0, 0, 3, 0);\n");        print("  raw_init2();\n");	//execute the raw main function	print(RawExecutionCode.rawMain + "();\n");	print("}\n");       	createFile();    }