Global Metrics

path: .metrics.nexits.sum
old: 8.0
new: 2.0

path: .metrics.nexits.average
old: 2.6666666666666665
new: 2.0

path: .metrics.cyclomatic.average
old: 6.0
new: 2.5

path: .metrics.cyclomatic.sum
old: 66.0
new: 5.0

path: .metrics.mi.mi_visual_studio
old: 8.176926918520433
new: 51.16961256731687

path: .metrics.mi.mi_sei
old: -23.25617394134288
new: 87.04531918676759

path: .metrics.mi.mi_original
old: 13.98254503066994
new: 87.50003749011185

path: .metrics.halstead.time
old: 38599.644194908506
new: 211.6534539424559

path: .metrics.halstead.n2
old: 113.0
new: 13.0

path: .metrics.halstead.N2
old: 532.0
new: 24.0

path: .metrics.halstead.volume
old: 8944.141751246741
new: 294.80302513413505

path: .metrics.halstead.estimated_program_length
old: 937.1452286917452
new: 101.40868524464064

path: .metrics.halstead.bugs
old: 2.614865065659034
new: 0.08131000517790242

path: .metrics.halstead.vocabulary
old: 146.0
new: 27.0

path: .metrics.halstead.difficulty
old: 77.68141592920354
new: 12.923076923076923

path: .metrics.halstead.N1
old: 712.0
new: 38.0

path: .metrics.halstead.n1
old: 33.0
new: 14.0

path: .metrics.halstead.length
old: 1244.0
new: 62.0

path: .metrics.halstead.level
old: 0.01287309182046024
new: 0.07738095238095238

path: .metrics.halstead.effort
old: 694793.5955083531
new: 3809.762170964207

path: .metrics.halstead.purity_ratio
old: 0.75333217740494
new: 1.6356239555587202

path: .metrics.cognitive.average
old: 52.333333333333336
new: 2.0

path: .metrics.cognitive.sum
old: 157.0
new: 2.0

path: .metrics.nargs.average
old: 3.0
new: 4.0

path: .metrics.nargs.sum
old: 9.0
new: 4.0

path: .metrics.nom.functions
old: 3.0
new: 1.0

path: .metrics.nom.total
old: 3.0
new: 1.0

path: .metrics.loc.sloc
old: 342.0
new: 26.0

path: .metrics.loc.blank
old: 26.0
new: 3.0

path: .metrics.loc.lloc
old: 129.0
new: 5.0

path: .metrics.loc.cloc
old: 41.0
new: 7.0

path: .metrics.loc.ploc
old: 275.0
new: 16.0

Spaces Data

Minimal test - lines (13, 26)

path: .spaces[0].metrics.mi.mi_visual_studio
old: 69.29123707097972
new: 57.43018159741777

path: .spaces[0].metrics.mi.mi_sei
old: 95.4448599367085
new: 94.01965188708712

path: .spaces[0].metrics.mi.mi_original
old: 118.48801539137531
new: 98.2056105315844

path: .spaces[0].metrics.cognitive.average
old: null
new: 2.0

path: .spaces[0].metrics.cognitive.sum
old: 0.0
new: 2.0

path: .spaces[0].metrics.halstead.N2
old: 11.0
new: 21.0

path: .spaces[0].metrics.halstead.volume
old: 83.76180828526729
new: 270.5127875425482

path: .spaces[0].metrics.halstead.level
old: 0.4545454545454546
new: 0.06802721088435375

path: .spaces[0].metrics.halstead.estimated_program_length
old: 41.219280948873624
new: 86.52224985768008

path: .spaces[0].metrics.halstead.bugs
old: 0.010794219093688755
new: 0.08366596699208498

path: .spaces[0].metrics.halstead.n1
old: 4.0
new: 14.0

path: .spaces[0].metrics.halstead.N1
old: 11.0
new: 38.0

path: .spaces[0].metrics.halstead.effort
old: 184.27597822758807
new: 3976.5379768754583

path: .spaces[0].metrics.halstead.length
old: 22.0
new: 59.0

path: .spaces[0].metrics.halstead.time
old: 10.237554345977117
new: 220.91877649308103

path: .spaces[0].metrics.halstead.vocabulary
old: 14.0
new: 24.0

path: .spaces[0].metrics.halstead.difficulty
old: 2.2
new: 14.7

path: .spaces[0].metrics.halstead.purity_ratio
old: 1.8736036794942557
new: 1.46647881114712

path: .spaces[0].metrics.nexits.sum
old: 0.0
new: 2.0

path: .spaces[0].metrics.nexits.average
old: null
new: 2.0

path: .spaces[0].metrics.nom.total
old: 0.0
new: 1.0

path: .spaces[0].metrics.nom.functions
old: 0.0
new: 1.0

path: .spaces[0].metrics.loc.lloc
old: 0.0
new: 5.0

path: .spaces[0].metrics.loc.ploc
old: 6.0
new: 12.0

path: .spaces[0].metrics.loc.cloc
old: 0.0
new: 2.0

path: .spaces[0].metrics.loc.sloc
old: 6.0
new: 14.0

path: .spaces[0].metrics.cyclomatic.sum
old: 2.0
new: 4.0

path: .spaces[0].metrics.cyclomatic.average
old: 1.0
new: 4.0

path: .spaces[0].metrics.nargs.average
old: null
new: 4.0

path: .spaces[0].metrics.nargs.sum
old: 0.0
new: 4.0

Code

int nsCaseInsensitiveCStringComparator(const char* aLhs, const char* aRhs,
                                       uint32_t aLhsLength,
                                       uint32_t aRhsLength) {
  if (aLhsLength != aRhsLength) {
    return (aLhsLength > aRhsLength) ? 1 : -1;
  }
  int32_t result = int32_t(PL_strncasecmp(aLhs, aRhs, aLhsLength));
  // Egads. PL_strncasecmp is returning *very* negative numbers.
  // Some folks expect -1,0,1, so let's temper its enthusiasm.
  if (result < 0) {
    result = -1;
  }
  return result;
}