daikon.inv.ternary
Class TernaryInvariant

Object
  extended by Invariant
      extended by TernaryInvariant
All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
ThreeFloat, ThreeScalar

public abstract class TernaryInvariant
extends Invariant

Exists simply to provide a more intelligent resusurrect_done method.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class Invariant
Invariant.ClassVarnameComparator, Invariant.ClassVarnameFormulaComparator, Invariant.InvariantComparatorForPrinting, Invariant.Match
 
Field Summary
 
Fields inherited from class Invariant
CONFIDENCE_JUSTIFIED, CONFIDENCE_NEVER, CONFIDENCE_UNJUSTIFIED, debug, debugFlow, debugGuarding, debugIsObvious, debugIsWorthPrinting, debugPrint, debugPrintEquality, dkconfig_confidence_limit, dkconfig_fuzzy_ratio, dkconfig_simplify_define_predicates, falsified, isGuardingPredicate, min_mod_non_missing_samples, ppt, PROBABILITY_JUSTIFIED, PROBABILITY_NEVER, PROBABILITY_UNJUSTIFIED
 
Constructor Summary
protected TernaryInvariant()
           
protected TernaryInvariant(PptSlice ppt)
           
 
Method Summary
abstract  InvariantStatus add(Object val1, Object val2, Object val3, int mod_index, int count)
           
abstract  InvariantStatus check(Object val1, Object val2, Object val3, int mod_index, int count)
           
protected  Invariant resurrect_done(int[] permutation)
          Called on the new invariant just before resurrect() returns it to allow subclasses to fix any information they might have cached from the old Ppt and VarInfos.
 
Methods inherited from class Invariant
add_sample, asInvClass, clear_falsified, clone_and_permute, clone, computeConfidence, conf_is_ge, confidence_and, confidence_and, confidence_or, createGuardedInvariant, createGuardingPredicate, enabled, enoughSamples, falsify, find, format_too_few_samples, format_unimplemented, format_using, format, formatFuzzy, get_comparability, get_ni_suppressions, getConfidence, getGuardingList, getGuardingList, hasUninterestingConstant, instantiate_dyn, instantiate_ok, instantiate, is_false, is_ni_suppressed, isActive, isAllPrestate, isExact, isExclusiveFormula, isInteresting, isObvious, isObviousDynamically_SomeInEquality, isObviousDynamically_SomeInEqualityHelper, isObviousDynamically, isObviousDynamically, isObviousStatically_AllInEquality, isObviousStatically_SomeInEquality, isObviousStatically_SomeInEqualityHelper, isObviousStatically, isObviousStatically, isReflexive, isSameFormula, isSameInvariant, isValidEscExpression, isValidExpression, isWorthPrinting, justified, log, log, logDetail, logOn, match, merge, mergeFormulasOk, permute, prob_and, prob_and, prob_is_ge, prob_or, repCheck, repr_prob, repr, resurrect, simplify_format_double, simplify_format_long, simplify_format_string, state_match, toString, toString, transfer, usesVar, usesVar, usesVarDerived, valid_types, varNames
 
Methods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TernaryInvariant

protected TernaryInvariant(PptSlice ppt)

TernaryInvariant

protected TernaryInvariant()
Method Detail

resurrect_done

protected Invariant resurrect_done(int[] permutation)
Description copied from class: Invariant
Called on the new invariant just before resurrect() returns it to allow subclasses to fix any information they might have cached from the old Ppt and VarInfos.

Specified by:
resurrect_done in class Invariant

add

public abstract InvariantStatus add(Object val1,
                                    Object val2,
                                    Object val3,
                                    int mod_index,
                                    int count)

check

public abstract InvariantStatus check(Object val1,
                                      Object val2,
                                      Object val3,
                                      int mod_index,
                                      int count)