-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve show
and string
#183
Merged
Merged
Changes from 7 commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
a2e88c0
Update show implementation for Mag, Arf, Arb and Acb
Joel-Dahne ab22571
Print Mag by converting to Arf
Joel-Dahne ac2e0bb
Add compact show for Mag and Arf, only printing up to 6 digits
Joel-Dahne 5544749
string: Add unicode argument for Arb and Acb
Joel-Dahne cfe5be6
Add compact show for Arb and Acb using condense and unicode
Joel-Dahne b335733
Add remove_trailing_zeros option to string methods
Joel-Dahne 1b6576c
Fix failing doctests
Joel-Dahne 52e9f11
Simplify string implementations
Joel-Dahne 05dd157
Set version to 1.2
Joel-Dahne File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -1,5 +1,27 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
digits_prec(prec::Integer) = floor(Int, prec * (log(2) / log(10))) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function _remove_trailing_zeros(str::AbstractString) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if occursin('.', str) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if occursin('e', str) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Numbers on the form xxx.yyy0ezzz | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mantissa, exponent = split(str, 'e', limit = 2) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mantissa = rstrip(mantissa, '0') | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if endswith(mantissa, '.') | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mantissa *= '0' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
str = mantissa * 'e' * exponent | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
else | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Numbers on the form xxx.yyy0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
str = rstrip(str, '0') | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if endswith(str, '.') | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
str *= '0' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return str | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function _string(x::MagOrRef) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Libc.flush_cstdio() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Base.flush(stdout) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -16,35 +38,115 @@ function _string(x::MagOrRef) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return read(out_rd, String) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function Base.show(io::IO, x::MagOrRef) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if isdefined(Main, :IJulia) && Main.IJulia.inited | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
print(io, Float64(x)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
else | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
print(io, _string(x)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function Base.string( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
x::MagOrRef; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
digits::Integer = digits_prec(30), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
remove_trailing_zeros::Bool = true, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cstr = ccall(@libflint(arf_get_str), Ptr{UInt8}, (Ref{arf_struct}, Int), Arf(x), digits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
str = unsafe_string(cstr) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ccall(@libflint(flint_free), Nothing, (Ptr{UInt8},), cstr) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return remove_trailing_zeros ? _remove_trailing_zeros(str) : str | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function Base.string( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
x::ArfOrRef; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
digits::Integer = digits_prec(precision(x)), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
remove_trailing_zeros::Bool = true, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cstr = ccall(@libflint(arf_get_str), Ptr{UInt8}, (Ref{arf_struct}, Int), x, digits) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
str = unsafe_string(cstr) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ccall(@libflint(flint_free), Nothing, (Ptr{UInt8},), cstr) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return remove_trailing_zeros ? _remove_trailing_zeros(str) : str | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Base.show(io::IO, x::ArfOrRef) = print(io, BigFloat(x)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function Base.string( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
x::ArbOrRef; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
digits::Integer = digits_prec(precision(x)), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
more::Bool = false, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
no_radius::Bool = false, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
condense::Integer = 0, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unicode::Bool = false, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
remove_trailing_zeros::Bool = !no_radius, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
flag = convert(UInt, more + 2no_radius + 16condense) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function Base.show(io::IO, x::ArbOrRef) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cstr = ccall( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@libflint(arb_get_str), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ptr{UInt8}, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(Ref{arb_struct}, Int, UInt), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
x, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
digits_prec(precision(x)), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UInt(0), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
digits, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
flag, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
print(io, unsafe_string(cstr)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
str = unsafe_string(cstr) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ccall(@libflint(flint_free), Nothing, (Ptr{UInt8},), cstr) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if unicode | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Multiple patterns in same call requires Julia 1.7 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
str = replace(replace(str, "+/-" => "±"), "..." => "…") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if remove_trailing_zeros && !startswith(str, '[') | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
str = _remove_trailing_zeros(str) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return str | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function Base.string( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
z::AcbOrRef; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
digits::Integer = digits_prec(precision(z)), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
more::Bool = false, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
no_radius::Bool = false, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
condense::Integer = 0, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unicode::Bool = false, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
remove_trailing_zeros::Bool = true, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
str = string( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
realref(z); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
digits, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
more, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
no_radius, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
condense, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unicode, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
remove_trailing_zeros, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if !iszero(imagref(z)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
str *= | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
" + " * | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
imagref(z); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
digits, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
more, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
no_radius, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
condense, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unicode, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
remove_trailing_zeros, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
) * | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"im" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
seems a bit more readable for me |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return str | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function Base.show(io::IO, x::AcbOrRef) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
show(io, realref(x)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if !iszero(imagref(x)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
print(io, " + ") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
show(io, imagref(x)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
print(io, "im") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function Base.show(io::IO, x::Union{MagOrRef,ArfOrRef}) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if Base.get(io, :compact, false) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
digits = min(6, digits_prec(precision(x))) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
print(io, string(x; digits)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
else | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
print(io, string(x)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function Base.show(io::IO, x::Union{ArbOrRef,AcbOrRef}) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if Base.get(io, :compact, false) && rel_accuracy_bits(x) > 48 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
print(io, string(x, condense = 2, unicode = true)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
else | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
print(io, string(x)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -82,30 +184,6 @@ function Base.show(io::IO, poly::T) where {T<:Union{ArbPoly,ArbSeries,AcbPoly,Ac | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
for ArbT in (Mag, MagRef, Arf, ArfRef, Arb, ArbRef, Acb, AcbRef) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
arbf = Symbol(cprefix(ArbT), :_, :print) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@eval begin | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function string_nice( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
x::$ArbT, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
digits::Integer = digits_prec(precision(x)), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
flags::UInt = UInt(0), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Libc.flush_cstdio() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Base.flush(stdout) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
original_stdout = stdout | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
out_rd, out_wr = redirect_stdout() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
try | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
printn(x, digits, flags) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Libc.flush_cstdio() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
finally | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
redirect_stdout(original_stdout) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
close(out_wr) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return read(out_rd, String) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function load_string!(x::Union{MagLike,ArfLike,ArbLike}, str::AbstractString) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
res = load!(x, str) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
iszero(res) || throw(ArgumentError("could not load $str as $(string(typeof(x)))")) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we could just replace this with
I actually didn't know that one can pass kwargs without explicitly writing them! when was it introduced?!