# Global Metrics

path: .metrics.nargs.average
old: 2.5
new: 0.0
path: .metrics.nargs.sum
old: 10.0
new: 0.0
path: .metrics.loc.sloc
old: 181.0
new: 54.0
path: .metrics.loc.blank
old: 20.0
new: 8.0
path: .metrics.loc.lloc
old: 47.0
new: 0.0
path: .metrics.loc.cloc
old: 39.0
new: 9.0
path: .metrics.loc.ploc
old: 122.0
new: 37.0
path: .metrics.nexits.average
old: 3.0
new: 0.0
path: .metrics.nexits.sum
old: 12.0
new: 0.0
path: .metrics.cyclomatic.average
old: 5.166666666666667
new: 1.0
path: .metrics.cyclomatic.sum
old: 31.0
new: 8.0
path: .metrics.cognitive.average
old: 7.25
new: 0.0
path: .metrics.cognitive.sum
old: 29.0
new: 0.0
path: .metrics.halstead.purity_ratio
old: 0.9645390070921984
new: 2.110274844075218
path: .metrics.halstead.estimated_program_length
old: 544.0
new: 211.0274844075218
path: .metrics.halstead.N1
old: 318.0
new: 51.0
path: .metrics.halstead.N2
old: 246.0
new: 49.0
path: .metrics.halstead.volume
old: 3713.918850406732
new: 549.1853096329675
path: .metrics.halstead.n1
old: 32.0
new: 11.0
path: .metrics.halstead.bugs
old: 1.2455192072383654
new: 0.08886783254494579
path: .metrics.halstead.effort
old: 228406.009300014
new: 4353.1012042966095
path: .metrics.halstead.n2
old: 64.0
new: 34.0
path: .metrics.halstead.time
old: 12689.222738889666
new: 241.8389557942561
path: .metrics.halstead.difficulty
old: 61.5
new: 7.926470588235294
path: .metrics.halstead.length
old: 564.0
new: 100.0
path: .metrics.halstead.vocabulary
old: 96.0
new: 45.0
path: .metrics.halstead.level
old: 0.016260162601626018
new: 0.1261595547309833
path: .metrics.mi.mi_visual_studio
old: 21.585476640327215
new: 41.9500535884978
path: .metrics.mi.mi_original
old: 36.91116505495954
new: 71.73459163633125
path: .metrics.mi.mi_sei
old: 13.643089727482597
new: 58.161202357917624
path: .metrics.nom.functions
old: 4.0
new: 1.0
path: .metrics.nom.total
old: 4.0
new: 1.0

# Spaces Data

## Minimal test - lines (14, 18)

path: .spaces[0].metrics.cyclomatic.sum
old: 1.0
new: 3.0
path: .spaces[0].metrics.halstead.N2
old: 5.0
new: 3.0
path: .spaces[0].metrics.halstead.difficulty
old: 1.25
new: 1.0
path: .spaces[0].metrics.halstead.time
old: 1.43609027817842
new: 0.7739760316291208
path: .spaces[0].metrics.halstead.bugs
old: 0.0029141701819800085
new: 0.0019299471801733172
path: .spaces[0].metrics.halstead.n2
old: 4.0
new: 3.0
path: .spaces[0].metrics.halstead.effort
old: 25.84962500721156
new: 13.931568569324174
path: .spaces[0].metrics.halstead.estimated_program_length
old: 10.0
new: 6.754887502163468
path: .spaces[0].metrics.halstead.vocabulary
old: 6.0
new: 5.0
path: .spaces[0].metrics.halstead.length
old: 8.0
new: 6.0
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.25
new: 1.1258145836939113
path: .spaces[0].metrics.halstead.volume
old: 20.67970000576925
new: 13.931568569324174
path: .spaces[0].metrics.halstead.level
old: 0.8
new: 1.0
path: .spaces[0].metrics.mi.mi_original
old: 132.56043812602817
new: 130.53948741585606
path: .spaces[0].metrics.mi.mi_sei
old: 115.6452545698808
new: 144.8687692540937
path: .spaces[0].metrics.mi.mi_visual_studio
old: 77.52072405030886
new: 76.33888152974038
path: .spaces[0].metrics.loc.sloc
old: 4.0
new: 5.0
path: .spaces[0].metrics.loc.cloc
old: 0.0
new: 1.0
path: .spaces[0].metrics.loc.ploc
old: 4.0
new: 5.0

### Code

    namespace mozilla {
    namespace dom {
    class ScreenDetails;
    }  // namespace dom
    }  // namespace mozilla

## Minimal test - lines (20, 52)

path: .spaces[1].metrics.nargs.average
old: 3.0
new: 0.0
path: .spaces[1].metrics.nargs.sum
old: 3.0
new: 0.0
path: .spaces[1].metrics.cognitive.sum
old: 6.0
new: 0.0
path: .spaces[1].metrics.cognitive.average
old: 6.0
new: 0.0
path: .spaces[1].metrics.mi.mi_original
old: 85.09078042578639
new: 81.3093300114853
path: .spaces[1].metrics.mi.mi_sei
old: 80.62446538586667
new: 55.332142797396344
path: .spaces[1].metrics.mi.mi_visual_studio
old: 49.760690307477425
new: 47.54931579619024
path: .spaces[1].metrics.loc.blank
old: 1.0
new: 5.0
path: .spaces[1].metrics.loc.cloc
old: 5.0
new: 1.0
path: .spaces[1].metrics.loc.sloc
old: 23.0
new: 33.0
path: .spaces[1].metrics.loc.ploc
old: 17.0
new: 27.0
path: .spaces[1].metrics.loc.lloc
old: 12.0
new: 0.0
path: .spaces[1].metrics.nexits.sum
old: 3.0
new: 0.0
path: .spaces[1].metrics.nexits.average
old: 3.0
new: 0.0
path: .spaces[1].metrics.halstead.bugs
old: 0.2238335456261127
new: 0.0799242369313714
path: .spaces[1].metrics.halstead.N1
old: 72.0
new: 48.0
path: .spaces[1].metrics.halstead.N2
old: 53.0
new: 42.0
path: .spaces[1].metrics.halstead.length
old: 125.0
new: 90.0
path: .spaces[1].metrics.halstead.difficulty
old: 25.347826086956523
new: 7.7
path: .spaces[1].metrics.halstead.n1
old: 22.0
new: 11.0
path: .spaces[1].metrics.halstead.n2
old: 23.0
new: 30.0
path: .spaces[1].metrics.halstead.purity_ratio
old: 1.6171953647946549
new: 2.0584496185918426
path: .spaces[1].metrics.halstead.volume
old: 686.4816370412093
new: 482.1796804156275
path: .spaces[1].metrics.halstead.estimated_program_length
old: 202.14942059933185
new: 185.26046567326583
path: .spaces[1].metrics.halstead.effort
old: 17400.817147609785
new: 3712.783539200332
path: .spaces[1].metrics.halstead.vocabulary
old: 45.0
new: 41.0
path: .spaces[1].metrics.halstead.level
old: 0.03945111492281304
new: 0.12987012987012986
path: .spaces[1].metrics.halstead.time
old: 966.7120637560992
new: 206.26575217779623
path: .spaces[1].metrics.cyclomatic.average
old: 5.0
new: 1.0
path: .spaces[1].metrics.cyclomatic.sum
old: 5.0
new: 4.0

### Code

    namespace mozilla {
    namespace widget {

    class Screen final : public nsIScreen {
     public:
      NS_DECL_ISUPPORTS
      NS_DECL_NSISCREEN

      Screen(LayoutDeviceIntRect aRect, LayoutDeviceIntRect aAvailRect,
             uint32_t aPixelDepth, uint32_t aColorDepth,
             DesktopToLayoutDeviceScale aContentsScale,
             CSSToLayoutDeviceScale aDefaultCssScale, float dpi);
      explicit Screen(const mozilla::dom::ScreenDetails& aScreenDetails);
      Screen(const Screen& aOther);

      mozilla::dom::ScreenDetails ToScreenDetails();

     private:
      virtual ~Screen() = default;

      LayoutDeviceIntRect mRect;
      LayoutDeviceIntRect mAvailRect;
      DesktopIntRect mRectDisplayPix;
      DesktopIntRect mAvailRectDisplayPix;
      uint32_t mPixelDepth;
      uint32_t mColorDepth;
      DesktopToLayoutDeviceScale mContentsScale;
      CSSToLayoutDeviceScale mDefaultCssScale;
      float mDPI;
    };

    }  // namespace widget
    }  // namespace mozilla