File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -94,25 +94,22 @@ module UnicodePlot
9494 {% raise " matrix_extrema_finite requires numeric matrix elements" % }
9595 {% end % }
9696
97- min_value = nil .as(Float64 ?)
98- max_value = nil .as(Float64 ?)
97+ extrema = nil .as({Float64 , Float64 }?)
9998
10099 matrix.each_cell do |_row , _col , value |
101100 v = value.to_f64
102101 next unless v.finite?
103102
104- if min_value.nil?
105- min_value = v
106- max_value = v
107- else
108- current_min = min_value || v
109- current_max = max_value || v
110- min_value = v if v < current_min
111- max_value = v if v > current_max
112- end
103+ extrema = if current = extrema
104+ {
105+ v < current[0 ] ? v : current[0 ],
106+ v > current[1 ] ? v : current[1 ],
107+ }
108+ else
109+ {v, v}
110+ end
113111 end
114112
115- return if min_value.nil?
116- {min_value || 0.0 , max_value || 0.0 }
113+ extrema
117114 end
118115end
You can’t perform that action at this time.
0 commit comments