src/main/java/org/apache/datasketches/characterization/kll/KllDoublesSketchRankGaussianAccuracyProfile.java [83:127]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  private final String[] columnLabels =
    {"nPP", "Value", "Rank", "-3SD","-2SD", "-1SD", "Med", "+1SD", "+2SD", "+3SD"};
  private final String sFmt =
    "%3s\t%5s\t%4s\t%4s\t%4s\t%4s\t%5s\t%4s\t%4s\t%4s\n";
  private final String fFmt =
    "%14.10f\t%14.0f\t%14.10f\t" //rPP, Value, Rank
  + "%14.10f\t%14.10f\t%14.10f\t%14.10f\t%14.10f\t%14.10f\t%14.10f\t\n"; //-3sd to +3sd

  //JobProfile interface
  @Override
  public void start(final Job job) {
    this.job = job;
    this.props = job.getProperties();
    extractProperties();
    configureCommon();
    doJob();
  }

  @Override
  public void shutdown() {}

  @Override
  public void cleanup() {}
  //end JobProfile

  private void extractProperties() {
    //stream length
    lgMin = Integer.parseInt(props.mustGet("LgMin"));
    lgMax = Integer.parseInt(props.mustGet("LgMax"));
    lgDelta = Integer.parseInt(props.mustGet("LgDelta"));
    ppo = Integer.parseInt(props.mustGet("PPO"));
    //numTrials & error quantiles sketch config
    numTrials = 1 << Integer.parseInt(props.mustGet("LgTrials"));
    errorSkLgK = Integer.parseInt(props.mustGet("ErrSkLgK"));
    //plotting & x-axis config
    numPlotPoints = Integer.parseInt(props.mustGet("NumPlotPoints"));
    //Target sketch config
    k = Integer.parseInt(props.mustGet("K"));
    criteria = props.mustGet("criteria").equalsIgnoreCase("INCLUSIVE") ? INCLUSIVE : EXCLUSIVE;
    useBulk = Boolean.parseBoolean(props.mustGet("useBulk"));
    direct = Boolean.parseBoolean(props.mustGet("direct"));
  }

  void configureCommon() {
    configureSketch();
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



src/main/java/org/apache/datasketches/characterization/kll/KllFloatsSketchRankGaussianAccuracyProfile.java [83:127]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  private final String[] columnLabels =
    {"nPP", "Value", "Rank", "-3SD","-2SD", "-1SD", "Med", "+1SD", "+2SD", "+3SD"};
  private final String sFmt =
    "%3s\t%5s\t%4s\t%4s\t%4s\t%4s\t%5s\t%4s\t%4s\t%4s\n";
  private final String fFmt =
    "%14.10f\t%14.0f\t%14.10f\t" //rPP, Value, Rank
  + "%14.10f\t%14.10f\t%14.10f\t%14.10f\t%14.10f\t%14.10f\t%14.10f\t\n"; //-3sd to +3sd

  //JobProfile interface
  @Override
  public void start(final Job job) {
    this.job = job;
    this.props = job.getProperties();
    extractProperties();
    configureCommon();
    doJob();
  }

  @Override
  public void shutdown() {}

  @Override
  public void cleanup() {}
  //end JobProfile

  private void extractProperties() {
    //stream length
    lgMin = Integer.parseInt(props.mustGet("LgMin"));
    lgMax = Integer.parseInt(props.mustGet("LgMax"));
    lgDelta = Integer.parseInt(props.mustGet("LgDelta"));
    ppo = Integer.parseInt(props.mustGet("PPO"));
    //numTrials & error quantiles sketch config
    numTrials = 1 << Integer.parseInt(props.mustGet("LgTrials"));
    errorSkLgK = Integer.parseInt(props.mustGet("ErrSkLgK"));
    //plotting & x-axis config
    numPlotPoints = Integer.parseInt(props.mustGet("NumPlotPoints"));
    //Target sketch config
    k = Integer.parseInt(props.mustGet("K"));
    criteria = props.mustGet("criteria").equalsIgnoreCase("INCLUSIVE") ? INCLUSIVE : EXCLUSIVE;
    useBulk = Boolean.parseBoolean(props.mustGet("useBulk"));
    direct = Boolean.parseBoolean(props.mustGet("direct"));
  }

  void configureCommon() {
    configureSketch();
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



