package cute.concolic.generateinputandschedule; import cute.concolic.ObjectInput; import cute.concolic.ObjectOutput; import cute.concolic.Information; import java.io.IOException; /** * Author: Koushik Sen <ksen@cs.uiuc.edu> */ public class Counter { public static void inc(Information information) { int[] ret; ret = read(information); (ret[1])++; write(1,ret[1]); } public static int get(Information information) { int[] ret = read(information); if (ret[0]!=0) { write(0,ret[1]); return ret[1]; } else { write(0,0); return 0; } } private static int[] read(Information information){ int flag; int times; ObjectInput in = new ObjectInput("Counter",false,information); if (in.ok()) { try{ flag = in.in.readInt(); times = in.in.readInt(); } catch(IOException ex){ in.close(); times = 0; flag = 0; } } else { flag = 0; times=0; } int[] ret = new int[2]; ret[0] = flag; ret[1] = times; return ret; } private static void write(int flag,int times){ ObjectOutput out = new ObjectOutput("Counter"); if (out.ok()) { try{ out.out.writeInt(flag); out.out.writeInt(times); } catch(IOException ex){ out.close(); ex.printStackTrace(); System.exit(1); } out.close(); } } }