daikon.inv
Class InvDef

Object
  extended by InvDef

public class InvDef
extends Object

Class that defines an invariant so that it can be searched for as part of suppression.


Field Summary
static Logger debug
          Debug tracer.
static long[] elts_minus_one
           
static double[] elts_minus_one_float
           
static long[] elts_one
           
static double[] elts_one_float
           
static long[] elts_plus_minus_one
           
static double[] elts_plus_minus_one_float
           
static long[] elts_zero
           
static double[] elts_zero_float
           
 
Constructor Summary
InvDef(int v1_index, int v2_index, int v3_index, Class<? extends Invariant> inv_class)
          Defines a ternary invariant independent of specific variables by using the var_info instead.
InvDef(VarInfo v1, Class<? extends Invariant> cls)
           
InvDef(VarInfo v1, Class<? extends Invariant> cls, Object state)
           
InvDef(VarInfo v1, VarInfo v2, Class<? extends Invariant> cls)
           
 
Method Summary
 boolean check(Invariant inv)
           
 Invariant find()
          Looks for this invariant (in this ppt).
 String toString()
           
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

debug

public static final Logger debug
Debug tracer.


elts_zero

public static final long[] elts_zero

elts_zero_float

public static final double[] elts_zero_float

elts_minus_one

public static final long[] elts_minus_one

elts_minus_one_float

public static final double[] elts_minus_one_float

elts_plus_minus_one

public static final long[] elts_plus_minus_one

elts_plus_minus_one_float

public static final double[] elts_plus_minus_one_float

elts_one

public static final long[] elts_one

elts_one_float

public static final double[] elts_one_float
Constructor Detail

InvDef

public InvDef(VarInfo v1,
              Class<? extends Invariant> cls)

InvDef

public InvDef(VarInfo v1,
              Class<? extends Invariant> cls,
              Object state)

InvDef

public InvDef(VarInfo v1,
              VarInfo v2,
              Class<? extends Invariant> cls)

InvDef

public InvDef(int v1_index,
              int v2_index,
              int v3_index,
              Class<? extends Invariant> inv_class)
Defines a ternary invariant independent of specific variables by using the var_info instead. The class must be correctly permuted to match the variable order (i.e., the indices must be 0, 1, 2). This is ok for now, since we are only using these to define suppressees and we always know the correct permuation in that instance

Method Detail

toString

public String toString()
Overrides:
toString in class Object

check

public boolean check(Invariant inv)

find

public Invariant find()
Looks for this invariant (in this ppt). Returns the invariant if it finds it, null otherwise