public void traceFramePartialTruth(Keyword lastmove, OutputStream stream) {
    {
      PartialMatchFrame self = this;

      {
        double weight = self.propositionWeight(self.controlFrame.proposition);

        if (lastmove == Logic.KWD_DOWN) {
          {
            double cutoff = self.computeDynamicCutoff();

            if (cutoff != Stella.NULL_FLOAT) {
              stream.nativeStream.print("cutoff=" + cutoff);
            }
          }
        } else if ((lastmove == Logic.KWD_UP_TRUE) || (lastmove == Logic.KWD_UP_FAIL)) {
          {
            double score = self.positiveScore;

            stream.nativeStream.print("score=" + score);
            if ((weight != Stella.NULL_FLOAT) && (!(weight == 1.0))) {
              stream.nativeStream.print(" weight=" + weight);
            }
          }
        } else {
        }
      }
    }
  }
  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;
        }
      }
    }
  }