171
171
172
172
function _pfmt_f (out:: IO , fs:: FormatSpec , x:: AbstractFloat )
173
173
# separate sign, integer, and decimal part
174
- rax = (@static VERSION < v " 0.7.0-DEV.4804" ? round (abs (x), fs. prec) :
175
- round (abs (x); digits= fs. prec))
174
+ rax = round (abs (x), fs. prec)
176
175
sch = _signchar (x, fs. sign)
177
176
intv = trunc (Integer, rax)
178
177
decv = rax - intv
@@ -219,36 +218,6 @@ function _pfmt_floate(out::IO, sch::Char, zs::Integer, u::Real, prec::Int, e::In
219
218
end
220
219
221
220
222
- # Pull in definition of signif from v0.6.2 base, since it is currently broken for
223
- # BigFloat and DecFP (at least) on master
224
-
225
- @static if VERSION >= v " 0.7.0-DEV.4804"
226
- # adapted from Matlab File Exchange roundsd: http://www.mathworks.com/matlabcentral/fileexchange/26212
227
- # for round, og is the power of 10 relative to the decimal point
228
- # for signif, og is the absolute power of 10
229
- # digits and base must be integers, x must be convertable to float
230
-
231
- function signif (x:: Real , digits:: Integer , base:: Integer = 10 )
232
- digits < 1 && throw (DomainError ())
233
-
234
- x = float (x)
235
- (x == 0 || ! isfinite (x)) && return x
236
- if base == 10
237
- e = floor (log10 (abs (x)) - digits + 1. )
238
- og = oftype (x, exp10 (abs (e)))
239
- elseif base == 2
240
- e = exponent (abs (x)) - digits + 1.
241
- og = oftype (x, exp2 (abs (e)))
242
- else
243
- e = floor (log (base, abs (x)) - digits + 1. )
244
- og = oftype (x, float (base) ^ abs (e))
245
- end
246
- # for numeric stability
247
- r = e >= 0 ? round (x/ og)* og : round (x* og)/ og
248
- isfinite (r) ? r : x
249
- end
250
- end
251
-
252
221
function _pfmt_e (out:: IO , fs:: FormatSpec , x:: AbstractFloat )
253
222
# extract sign, significand, and exponent
254
223
ax = abs (x)
@@ -257,7 +226,7 @@ function _pfmt_e(out::IO, fs::FormatSpec, x::AbstractFloat)
257
226
e = 0
258
227
u = zero (x)
259
228
else
260
- rax = signif (ax, fs. prec + 1 ) # round(ax; sigdigits = fs.prec + 1)
229
+ rax = signif (ax, fs. prec + 1 )
261
230
e = floor (Integer, log10 (rax)) # exponent
262
231
u = rax * exp10 (- e) # significand
263
232
end
0 commit comments