if (!KjcOptions.raw_uni) {
if (KjcOptions.magic_net) print("  __asm__ volatile (\"magc $0, $0, 1\");\n");     if (!KjcOptions.raw_uni && !KjcOptions.magic_net) {
    public void visitFilter(SIRFilter self,			    SIRFilterIter iter) {	//       System.out.println(self.getName());		//Entry point of the visitor	//do not print the raw header if compiling	//for uniprocessor	if (!KjcOptions.raw_uni) 	    print("#include <raw.h>\n");	print("#include <stdlib.h>\n");	print("#include <math.h>\n\n");		if(KjcOptions.sketchycodegen) {	    print("volatile int router_mem;\n");	    print("volatile float router_mem_f;\n");	    print("register int router asm(\"$24\");\n");	    print("register float router_f asm(\"$24\");\n\n");	    print("static inline int static_receive_sketch() {\n");	    print("  int __return;\n");	    print("  router=router_mem;\n");	    print("  /* receive */ asm (\"or %0,$0,%1\" : \"=r\" (__return), \"=r\" (router) : \"1\" (router));\n");	    print("  return __return;\n");	    print("}\n\n");	    print("static inline float static_receive_sketch_f() {\n");	    print("  float __return;\n");	    print("  router_f=router_mem_f;\n");	    print("  /* receive */ asm (\"or %0,$0,%1\" : \"=r\" (__return), \"=r\" (router_f) : \"1\" (router_f));\n");	    print("  return __return;\n");	    print("}\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, do not do this if we are compiling for	//a uniprocessor	if (!KjcOptions.raw_uni) {	    print("void raw_init();\n");	    print("void raw_init2();\n");	}	//not used any more	//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);		}		//if we are generating raw code print the begin	//method for the simulator	if (!KjcOptions.raw_uni) {	    print("void begin(void) {\n");	}	else {	    //otherwise print a normal main()	    print("int main() {\n");	}	//not used at this time	//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");	if (!KjcOptions.raw_uni) {	    print("  raw_init();\n");	    print("  raw_init2();\n");	}	//execute the raw main function	print(RawExecutionCode.rawMain + "();\n");	//return 0 if we are generating normal c code	if (KjcOptions.raw_uni) 	    print("  return 0;\n");	print("}\n");       	createFile();    }