Global Metrics

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

path: .metrics.cyclomatic.average
old: 1.0
new: 4.166666666666667

path: .metrics.loc.cloc
old: 13.0
new: 32.0

path: .metrics.loc.lloc
old: 1.0
new: 64.0

path: .metrics.loc.ploc
old: 45.0
new: 94.0

path: .metrics.loc.sloc
old: 73.0
new: 141.0

path: .metrics.mi.mi_visual_studio
old: 37.661012464229614
new: 24.954794968325864

path: .metrics.mi.mi_original
old: 64.40033131383264
new: 42.67269939583723

path: .metrics.mi.mi_sei
old: 48.12690766130864
new: 22.049741155866307

path: .metrics.halstead.N1
old: 107.0
new: 348.0

path: .metrics.halstead.level
old: 0.12832550860719874
new: 0.02406417112299465

path: .metrics.halstead.bugs
old: 0.1314217895731073
new: 0.9186636979414756

path: .metrics.halstead.n1
old: 9.0
new: 28.0

path: .metrics.halstead.vocabulary
old: 50.0
new: 91.0

path: .metrics.halstead.volume
old: 1004.6064017799008
new: 3481.6701325063027

path: .metrics.halstead.estimated_program_length
old: 248.18895720232223
new: 511.1745729981077

path: .metrics.halstead.difficulty
old: 7.7926829268292686
new: 41.55555555555556

path: .metrics.halstead.effort
old: 7828.579155333619
new: 144682.73661748413

path: .metrics.halstead.n2
old: 41.0
new: 63.0

path: .metrics.halstead.N2
old: 71.0
new: 187.0

path: .metrics.halstead.purity_ratio
old: 1.3943199842827092
new: 0.955466491585248

path: .metrics.halstead.time
old: 434.92106418520103
new: 8037.9298120824515

path: .metrics.halstead.length
old: 178.0
new: 535.0

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

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

path: .metrics.nexits.sum
old: 0.0
new: 1.0

path: .metrics.nexits.average
old: 0.0
new: 0.2

path: .metrics.nom.total
old: 2.0
new: 5.0

path: .metrics.nom.functions
old: 2.0
new: 5.0

path: .metrics.cognitive.average
old: 0.0
new: 2.8

path: .metrics.cognitive.sum
old: 0.0
new: 14.0

Spaces Data

Minimal test - lines (37, 49)

path: .spaces[0].metrics.loc.ploc
old: 25.0
new: 13.0

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

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

path: .spaces[0].metrics.loc.sloc
old: 39.0
new: 13.0

path: .spaces[0].metrics.loc.blank
old: 8.0
new: 0.0

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

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

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

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

path: .spaces[0].metrics.halstead.purity_ratio
old: 1.6576576576576576
new: 1.2415725109793336

path: .spaces[0].metrics.halstead.n2
old: 32.0
new: 5.0

path: .spaces[0].metrics.halstead.volume
old: 590.7340185324972
new: 179.8483650150149

path: .spaces[0].metrics.halstead.length
old: 111.0
new: 44.0

path: .spaces[0].metrics.halstead.difficulty
old: 5.0
new: 15.6

path: .spaces[0].metrics.halstead.effort
old: 2953.6700926624862
new: 2805.6344942342325

path: .spaces[0].metrics.halstead.bugs
old: 0.0686204248114361
new: 0.06630803227803952

path: .spaces[0].metrics.halstead.vocabulary
old: 40.0
new: 17.0

path: .spaces[0].metrics.halstead.N1
old: 71.0
new: 31.0

path: .spaces[0].metrics.halstead.n1
old: 8.0
new: 12.0

path: .spaces[0].metrics.halstead.N2
old: 40.0
new: 13.0

path: .spaces[0].metrics.halstead.estimated_program_length
old: 184.0
new: 54.62919048309068

path: .spaces[0].metrics.halstead.level
old: 0.2
new: 0.06410256410256411

path: .spaces[0].metrics.halstead.time
old: 164.09278292569368
new: 155.8685830130129

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

path: .spaces[0].metrics.mi.mi_sei
old: 65.82011012867007
new: 71.6415629498375

path: .spaces[0].metrics.mi.mi_visual_studio
old: 45.75274786306557
new: 59.64258900403194

path: .spaces[0].metrics.mi.mi_original
old: 78.23719884584213
new: 101.98882719689462

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

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

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

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

Code

static inline void alloc_word(uint64_t* &ireg_args,
                              uint64_t* &stack_args,
                              uint64_t* end,
                              uint64_t  data)
{
    if (ireg_args < end) {
        *ireg_args = data;
        ireg_args++;
    } else {
        *stack_args = data;
        stack_args++;
    }
}

Minimal test - lines (51, 63)

path: .spaces[1].metrics.nargs.average
old: 2.0
new: 4.0

path: .spaces[1].metrics.mi.mi_sei
old: 63.1788838906169
new: 70.39367680848638

path: .spaces[1].metrics.mi.mi_visual_studio
old: 56.17097597575495
new: 59.13675931950715

path: .spaces[1].metrics.mi.mi_original
old: 96.05236891854096
new: 101.12385843635724

path: .spaces[1].metrics.halstead.bugs
old: 0.055077828962987144
new: 0.07612822839066899

path: .spaces[1].metrics.halstead.time
old: 117.99798648454404
new: 191.7467280373841

path: .spaces[1].metrics.halstead.purity_ratio
old: 1.1282499600910958
new: 1.2723098268032225

path: .spaces[1].metrics.halstead.effort
old: 2123.963756721793
new: 3451.441104672913

path: .spaces[1].metrics.halstead.volume
old: 233.6360132393972
new: 212.3963756721793

path: .spaces[1].metrics.halstead.estimated_program_length
old: 62.05374780501027
new: 63.61549134016113

path: .spaces[1].metrics.halstead.length
old: 55.0
new: 50.0

path: .spaces[1].metrics.halstead.level
old: 0.11
new: 0.06153846153846154

path: .spaces[1].metrics.halstead.n2
old: 11.0
new: 6.0

path: .spaces[1].metrics.halstead.N1
old: 30.0
new: 35.0

path: .spaces[1].metrics.halstead.n1
old: 8.0
new: 13.0

path: .spaces[1].metrics.halstead.difficulty
old: 9.090909090909092
new: 16.25

path: .spaces[1].metrics.halstead.N2
old: 25.0
new: 15.0

path: .spaces[1].metrics.cognitive.average
old: 0.0
new: 2.0

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

path: .spaces[1].metrics.loc.lloc
old: 1.0
new: 5.0

path: .spaces[1].metrics.loc.sloc
old: 17.0
new: 13.0

path: .spaces[1].metrics.loc.blank
old: 2.0
new: 0.0

path: .spaces[1].metrics.loc.ploc
old: 15.0
new: 13.0

path: .spaces[1].metrics.nom.functions
old: 2.0
new: 1.0

path: .spaces[1].metrics.nom.total
old: 2.0
new: 1.0

path: .spaces[1].metrics.cyclomatic.sum
old: 3.0
new: 2.0

path: .spaces[1].metrics.cyclomatic.average
old: 1.0
new: 2.0

Code

static inline void alloc_double(double* &freg_args,
                                uint64_t* &stack_args,
                                double* end,
                                double  data)
{
    if (freg_args < end) {
        *freg_args = data;
        freg_args++;
    } else {
        memcpy(stack_args, &data, sizeof(data));
        stack_args++;
    }
}