# Global Metrics

path: .metrics.cyclomatic.average
old: 1.173913043478261
new: 1.0
path: .metrics.cyclomatic.sum
old: 27.0
new: 3.0
path: .metrics.cognitive.sum
old: 2.0
new: 0.0
path: .metrics.cognitive.average
old: 0.5
new: null
path: .metrics.nom.functions
old: 4.0
new: 0.0
path: .metrics.nom.total
old: 4.0
new: 0.0
path: .metrics.nargs.average
old: 0.5
new: null
path: .metrics.nargs.sum
old: 2.0
new: 0.0
path: .metrics.loc.blank
old: 56.0
new: 3.0
path: .metrics.loc.lloc
old: 7.0
new: 0.0
path: .metrics.loc.sloc
old: 460.0
new: 70.0
path: .metrics.loc.ploc
old: 358.0
new: 21.0
path: .metrics.nexits.average
old: 1.0
new: null
path: .metrics.nexits.sum
old: 4.0
new: 0.0
path: .metrics.mi.mi_visual_studio
old: 9.261912892121533
new: 40.7261083892895
path: .metrics.mi.mi_sei
old: -26.575705653525414
new: 72.6168133677203
path: .metrics.mi.mi_original
old: 15.83787104552782
new: 69.64164534568505
path: .metrics.halstead.bugs
old: 1.6212248461026528
new: 0.1166114848507034
path: .metrics.halstead.volume
old: 13953.860743664707
new: 456.506188508102
path: .metrics.halstead.level
old: 0.04113842173350582
new: 0.06976744186046512
path: .metrics.halstead.length
old: 1661.0
new: 89.0
path: .metrics.halstead.effort
old: 339192.90424065467
new: 6543.255368616129
path: .metrics.halstead.difficulty
old: 24.30817610062893
new: 14.333333333333334
path: .metrics.halstead.n2
old: 318.0
new: 21.0
path: .metrics.halstead.purity_ratio
old: 1.643549272533517
new: 1.6352992672714657
path: .metrics.halstead.N2
old: 773.0
new: 43.0
path: .metrics.halstead.vocabulary
old: 338.0
new: 35.0
path: .metrics.halstead.N1
old: 888.0
new: 46.0
path: .metrics.halstead.estimated_program_length
old: 2729.935341678172
new: 145.54163478716043
path: .metrics.halstead.n1
old: 20.0
new: 14.0
path: .metrics.halstead.time
old: 18844.050235591927
new: 363.5141871453405

# Spaces Data

## Minimal test - lines (9, 68)

path: .spaces[0].metrics.loc.ploc
old: 1.0
new: 19.0
path: .spaces[0].metrics.loc.cloc
old: 0.0
new: 40.0
path: .spaces[0].metrics.loc.blank
old: 0.0
new: 1.0
path: .spaces[0].metrics.loc.sloc
old: 1.0
new: 60.0
path: .spaces[0].metrics.cyclomatic.sum
old: 1.0
new: 2.0
path: .spaces[0].metrics.halstead.n2
old: 1.0
new: 19.0
path: .spaces[0].metrics.halstead.vocabulary
old: 1.0
new: 31.0
path: .spaces[0].metrics.halstead.N1
old: 0.0
new: 39.0
path: .spaces[0].metrics.halstead.N2
old: 1.0
new: 38.0
path: .spaces[0].metrics.halstead.n1
old: 0.0
new: 12.0
path: .spaces[0].metrics.halstead.estimated_program_length
old: null
new: 123.730172764082
path: .spaces[0].metrics.halstead.volume
old: 0.0
new: 381.4731158997894
path: .spaces[0].metrics.halstead.difficulty
old: 0.0
new: 12.0
path: .spaces[0].metrics.halstead.time
old: 0.0
new: 254.3154105998596
path: .spaces[0].metrics.halstead.length
old: 1.0
new: 77.0
path: .spaces[0].metrics.halstead.level
old: null
new: 0.08333333333333333
path: .spaces[0].metrics.halstead.bugs
old: 0.0
new: 0.09189859403397808
path: .spaces[0].metrics.halstead.purity_ratio
old: null
new: 1.6068853605724935
path: .spaces[0].metrics.halstead.effort
old: 0.0
new: 4577.677390797473
path: .spaces[0].metrics.mi.mi_original
old: null
new: 73.3026081223552
path: .spaces[0].metrics.mi.mi_sei
old: null
new: 77.93513397349108
path: .spaces[0].metrics.mi.mi_visual_studio
old: null
new: 42.867022293774966

### Code

    namespace mozilla {
    namespace detail {

    // Because this is `constexpr` it ends up in read-only memory where it can be
    // shared between processes.
    extern constexpr GkAtoms gGkAtoms = {
    // The initialization of each atom's string.
    //
    // Expansion of the example GK_ATOM entries in nsGkAtoms.h:
    //
    //   u"a",
    //   u"bb",
    //   u"Ccc",
    //
    #define GK_ATOM(name_, value_, hash_, is_ascii_lower_, type_, atom_type_) \
      u"" value_,
    #include "nsGkAtomList.h"
    #undef GK_ATOM
        {
    // The initialization of the atoms themselves.
    //
    // Note that |value_| is an 8-bit string, and so |sizeof(value_)| is equal
    // to the number of chars (including the terminating '\0'). The |u""| prefix
    // converts |value_| to a 16-bit string.
    //
    // Expansion of the example GK_ATOM entries in nsGkAtoms.h:
    //
    //   nsStaticAtom(
    //     1,
    //     0x01234567,
    //     offsetof(GkAtoms, mAtoms[static_cast(GkAtoms::Atoms::a)]) -
    //       offsetof(GkAtoms, a_string),
    //     true),
    //
    //   nsStaticAtom(
    //     2,
    //     0x12345678,
    //     offsetof(GkAtoms, mAtoms[static_cast(GkAtoms::Atoms::bb)]) -
    //       offsetof(GkAtoms, bb_string),
    //     false),
    //
    //   nsStaticAtom(
    //     3,
    //     0x23456789,
    //     offsetof(GkAtoms, mAtoms[static_cast(GkAtoms::Atoms::Ccc)]) -
    //       offsetof(GkAtoms, Ccc_string),
    //     false),
    //
    #define GK_ATOM(name_, value_, hash_, is_ascii_lower_, type_, atom_type_)     \
      nsStaticAtom(                                                               \
          sizeof(value_) - 1, hash_,                                              \
          offsetof(GkAtoms, mAtoms[static_cast(GkAtoms::Atoms::name_)]) - \
              offsetof(GkAtoms, name_##_string),                                  \
          is_ascii_lower_),
    #include "nsGkAtomList.h"
    #undef GK_ATOM
        }};

    }  // namespace detail
    }  // namespace mozilla