Skip to content

Commit

Permalink
new norm, dot, and opnorm (#577)
Browse files Browse the repository at this point in the history
* new norm, dot, and opnorm

* make sure to define Compat.norm and Compat.dot
  • Loading branch information
stevengj authored Jun 19, 2018
1 parent 4814974 commit f5e14bd
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 0 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,10 @@ Currently, the `@compat` macro supports the following syntaxes:

* `Unicode.isnumeric` is now available as `isnumeric` ([#25479]).

* `vecnorm` and `vecdot` are now `Compat.norm` and `Compat.dot`, respectively, while the
old `norm(A::AbstractMatrix, p=2)` is now `Compat.opnorm` ([#27401]). `import Compat: ⋅`
to get `Compat.dot` as the binary operator ``.

* `atan2` is now a 2-argument method of `atan` ([#27253]).

## New macros
Expand Down Expand Up @@ -644,3 +648,4 @@ includes this fix. Find the minimum version from there.
[#27253]: https://github.com/JuliaLang/julia/issues/27253
[#27258]: https://github.com/JuliaLang/julia/issues/27258
[#27298]: https://github.com/JuliaLang/julia/issues/27298
[#27401]: https://github.com/JuliaLang/julia/issues/27401
11 changes: 11 additions & 0 deletions src/Compat.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1925,6 +1925,17 @@ if VERSION < v"0.7.0-DEV.5278"
export something
end

if !isdefined(LinearAlgebra, :opnorm) # julia#27401
opnorm(A::AbstractMatrix, p::Real=2) = LinearAlgebra.norm(A, p)
const norm = LinearAlgebra.vecnorm
const dot = LinearAlgebra.vecdot
else
const opnorm = LinearAlgebra.opnorm
const norm = LinearAlgebra.norm
const dot = LinearAlgebra.dot
end
const = dot

# https://github.com/JuliaLang/julia/pull/27253
@static if VERSION < v"0.7.0-alpha.44"
Base.atan(x::Real, y::Real) = atan2(x, y)
Expand Down
8 changes: 8 additions & 0 deletions test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1813,6 +1813,14 @@ let sep = Compat.Sys.iswindows() ? ';' : ':'
end
end

# julia#27401
import Compat:
@test Compat.opnorm([1 2;3 4]) 5.464985704219043
@test Compat.opnorm([1 2;3 4], 1) 6
@test Compat.norm([1 2;3 4]) 5.477225575051661
@test Compat.norm([1 2;3 4], 1) 10
@test Compat.dot([1 2;3 4], [5 6;7 8]) == [1 2;3 4] [5 6;7 8] 70

# 0.7.0-alpha.44
@test atan(1, 2) == atan(0.5)
@test atan(1.0, 2.0) == atan(0.5)
Expand Down

0 comments on commit f5e14bd

Please sign in to comment.