File tree Expand file tree Collapse file tree 1 file changed +13
-34
lines changed
Source/Charts/Data/Implementations/Standard Expand file tree Collapse file tree 1 file changed +13
-34
lines changed Original file line number Diff line number Diff line change @@ -122,30 +122,13 @@ open class BarChartDataEntry: ChartDataEntry
122
122
123
123
@objc open func calcPosNegSum( )
124
124
{
125
- guard let _yVals = _yVals else
126
- {
127
- _positiveSum = 0.0
128
- _negativeSum = 0.0
129
- return
130
- }
131
-
132
- var sumNeg : Double = 0.0
133
- var sumPos : Double = 0.0
134
-
135
- for f in _yVals
136
- {
137
- if f < 0.0
138
- {
139
- sumNeg += - f
125
+ ( _negativeSum, _positiveSum) = _yVals? . reduce ( into: ( 0 , 0 ) ) { ( result, y) in
126
+ if y < 0 {
127
+ result. 0 += - y
128
+ } else {
129
+ result. 1 += y
140
130
}
141
- else
142
- {
143
- sumPos += f
144
- }
145
- }
146
-
147
- _negativeSum = sumNeg
148
- _positiveSum = sumPos
131
+ } ?? ( 0 , 0 )
149
132
}
150
133
151
134
/// Splits up the stack-values of the given bar-entry into Range objects.
@@ -155,38 +138,34 @@ open class BarChartDataEntry: ChartDataEntry
155
138
/// - Returns:
156
139
@objc open func calcRanges( )
157
140
{
158
- let values = yValues
159
- if values? . isEmpty != false
160
- {
141
+ guard let values = yValues, !values. isEmpty else {
161
142
return
162
143
}
163
-
144
+
164
145
if _ranges == nil
165
146
{
166
147
_ranges = [ Range] ( )
167
148
}
168
149
else
169
150
{
170
- _ranges? . removeAll ( )
151
+ _ranges! . removeAll ( )
171
152
}
172
153
173
- _ranges? . reserveCapacity ( values! . count)
154
+ _ranges! . reserveCapacity ( values. count)
174
155
175
156
var negRemain = - negativeSum
176
157
var posRemain : Double = 0.0
177
158
178
- for i in 0 ..< values! . count
159
+ for value in values
179
160
{
180
- let value = values![ i]
181
-
182
161
if value < 0
183
162
{
184
- _ranges? . append ( Range ( from: negRemain, to: negRemain - value) )
163
+ _ranges! . append ( Range ( from: negRemain, to: negRemain - value) )
185
164
negRemain -= value
186
165
}
187
166
else
188
167
{
189
- _ranges? . append ( Range ( from: posRemain, to: posRemain + value) )
168
+ _ranges! . append ( Range ( from: posRemain, to: posRemain + value) )
190
169
posRemain += value
191
170
}
192
171
}
You can’t perform that action at this time.
0 commit comments