range
honours BigFloat - it’s just that BigFloat conversion from floating point literals is icky, since they get converted to floating point first during parsing of the julia source:
help?> BigFloat
# snip
BigFloat(x)
Create an arbitrary precision floating point number. x may be an Integer, a Float64 or
a BigInt. The usual mathematical operators are defined for this type, and results are
promoted to a BigFloat.
Note that because decimal literals are converted to floating point numbers when parsed,
BigFloat(2.1) may not yield what you expect. You may instead prefer to initialize
constants from strings via parse, or using the big string literal.
julia> BigFloat(2.1)
2.100000000000000088817841970012523233890533447265625
julia> big"2.1"
2.099999999999999999999999999999999999999999999999999999999999999999999999999986
And the range using big"..."
:
julia> range(big"0.0",stop=big"2.0",step=big"0.1")
0.0:1.000000000000000000000000000000000000000000000000000000000000000000000000000002e-01:2.0
The same can be done using parse(BigFloat, "0.1")
.