Skip to content

Commit 2e47efc

Browse files
committed
Fix the 0 division bug and some refactoring
1 parent 85fedae commit 2e47efc

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

socpowerbuddy_swift.xcodeproj/xcuserdata/eomsehwan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1957,8 +1957,8 @@
19571957
filePath = "socpowerbuddy_swift/sampler.swift"
19581958
startingColumnNumber = "9223372036854775807"
19591959
endingColumnNumber = "9223372036854775807"
1960-
startingLineNumber = "596"
1961-
endingLineNumber = "596"
1960+
startingLineNumber = "601"
1961+
endingLineNumber = "601"
19621962
landmarkName = "summary(sd:vd:rd:rvd:opt:)"
19631963
landmarkType = "9">
19641964
</BreakpointContent>

socpowerbuddy_swift/sampler.swift

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,10 @@ func format(sd: inout static_data, vd: inout variating_data) {
413413
}
414414
}
415415

416-
vd.cluster_use[i] /= Float(vd.cluster_sums[i])+vd.cluster_use[i]
416+
let cluster_usg = Float(vd.cluster_sums[i])+vd.cluster_use[i]
417+
if cluster_usg != 0 {
418+
vd.cluster_use[i] /= cluster_usg
419+
}
417420
vd.cluster_use[i] *= 100
418421
if i <= sd.cluster_core_counts.count-1 {
419422
for iii in 0..<Int(sd.cluster_core_counts[i]) {
@@ -471,24 +474,26 @@ func summary(sd: static_data, vd: variating_data, rd: inout render_data, rvd: in
471474
var ecpu_use: Float = 0
472475
var pcpu_use: Float = 0
473476
for (idx, cluster) in sd.complex_freq_channels.enumerated() {
477+
let usg = vd.cluster_use[idx]
478+
474479
if cluster.contains("ECPU") {
475-
rd.ecpu.usage += vd.cluster_use[idx]
480+
rd.ecpu.usage += usg
476481
for (i, freq) in vd.core_freqs[idx].enumerated() {
477482
rd.ecpu.freq += freq*(vd.core_use[idx][i] as! Float)
478483
ecpu_use += (vd.core_use[idx][i] as! Float)
479484
}
480485
// rd.ecpu.freq += vd.cluster_freqs[idx]
481486
ecpu += 1
482487
} else if cluster.contains("PCPU") {
483-
rd.pcpu.usage += vd.cluster_use[idx]
488+
rd.pcpu.usage += usg
484489
for (i, freq) in vd.core_freqs[idx].enumerated() {
485490
rd.pcpu.freq += freq*(vd.core_use[idx][i] as! Float)
486491
pcpu_use += (vd.core_use[idx][i] as! Float)
487492
}
488493
// rd.pcpu.freq += vd.cluster_freqs[idx]
489494
pcpu += 1
490495
} else if cluster.contains("GPU") {
491-
rd.gpu.usage += vd.cluster_use[idx]
496+
rd.gpu.usage += usg
492497
rd.gpu.freq += vd.cluster_freqs[idx]
493498
gpu += 1
494499
}

0 commit comments

Comments
 (0)