public void setDynamicCutoff() { { PartialMatchFrame self = this; { double cutoff = self.computeDynamicCutoff(); if (cutoff != Stella.NULL_FLOAT) { if ((cutoff < -100) || (cutoff > 100)) { Stella.STANDARD_WARNING.nativeStream.println( "Warning: *** fishy dynamic cutoff=`" + cutoff + "' computed, resetting to 0.0"); cutoff = 0.0; } self.dynamicCutoff = cutoff; } } } }
public void initializePartialMatchStrategy(QueryIterator query) { { PartialMatchFrame self = this; { FloatWrapper minimumscore = ((FloatWrapper) (query.options.lookup(Logic.KWD_MINIMUM_SCORE))); double epsilon = 0.001; query.partialMatchStrategy = self; self.dynamicCutoff = ((minimumscore != null) ? minimumscore.wrapperValue : epsilon); KeyValueList.setDynamicSlotValue( query.dynamicSlots, Logic.SYM_LOGIC_LATEST_POSITIVE_SCORE, FloatWrapper.wrapFloat(0.0), Stella.NULL_FLOAT_WRAPPER); } } }
public static Stella_Object accessPartialMatchFrameSlotValue( PartialMatchFrame self, Symbol slotname, Stella_Object value, boolean setvalueP) { if (slotname == Logic.SYM_LOGIC_KIND) { if (setvalueP) { self.kind = ((Keyword) (value)); } else { value = self.kind; } } else if (slotname == Logic.SYM_LOGIC_CONTROL_FRAME) { if (setvalueP) { self.controlFrame = ((ControlFrame) (value)); } else { value = self.controlFrame; } } else if (slotname == Logic.SYM_LOGIC_PARENT) { if (setvalueP) { self.parent = ((PartialMatchFrame) (value)); } else { value = self.parent; } } else if (slotname == Logic.SYM_LOGIC_CHILD) { if (setvalueP) { self.child = ((PartialMatchFrame) (value)); } else { value = self.child; } } else if (slotname == Logic.SYM_LOGIC_POSITIVE_SCORE) { if (setvalueP) { self.positiveScore = ((FloatWrapper) (value)).wrapperValue; } else { value = FloatWrapper.wrapFloat(self.positiveScore); } } else if (slotname == Logic.SYM_LOGIC_NEGATIVE_SCORE) { if (setvalueP) { self.negativeScore = ((FloatWrapper) (value)).wrapperValue; } else { value = FloatWrapper.wrapFloat(self.negativeScore); } } else if (slotname == Logic.SYM_LOGIC_DYNAMIC_CUTOFF) { if (setvalueP) { self.dynamicCutoff = ((FloatWrapper) (value)).wrapperValue; } else { value = FloatWrapper.wrapFloat(self.dynamicCutoff); } } else if (slotname == Logic.SYM_LOGIC_ARGUMENT_SCORES) { if (setvalueP) { self.argumentScores = ((Cons) (value)); } else { value = self.argumentScores; } } else if (slotname == Logic.SYM_LOGIC_ARGUMENT_WEIGHTS) { if (setvalueP) { self.argumentWeights = ((Cons) (value)); } else { value = self.argumentWeights; } } else if (slotname == Logic.SYM_LOGIC_UNBOUND_VARS) { if (setvalueP) { self.unboundVars = ((Cons) (value)); } else { value = self.unboundVars; } } else if (slotname == Logic.SYM_LOGIC_SUCCESSp) { if (setvalueP) { self.successP = BooleanWrapper.coerceWrappedBooleanToBoolean(((BooleanWrapper) (value))); } else { value = (self.successP ? Stella.TRUE_WRAPPER : Stella.FALSE_WRAPPER); } } else { { OutputStringStream stream000 = OutputStringStream.newOutputStringStream(); stream000.nativeStream.print("`" + slotname + "' is not a valid case option"); throw ((StellaException) (StellaException.newStellaException(stream000.theStringReader()).fillInStackTrace())); } } return (value); }