From 3ba74d69d3ab75dd74eb3c966aad629f7531ec3d Mon Sep 17 00:00:00 2001 From: Rafael Fourquet Date: Mon, 25 Dec 2017 16:21:04 +0100 Subject: [PATCH] LinearAlgebra: delete _rand_pm1! in favor of rand! --- stdlib/SparseArrays/src/linalg.jl | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/stdlib/SparseArrays/src/linalg.jl b/stdlib/SparseArrays/src/linalg.jl index ee3ca211e5f67..4350a2d922fc9 100644 --- a/stdlib/SparseArrays/src/linalg.jl +++ b/stdlib/SparseArrays/src/linalg.jl @@ -1,6 +1,7 @@ # This file is a part of Julia. License is MIT: https://julialang.org/license import LinearAlgebra: checksquare +using Random: rand! ## sparse matrix multiplication @@ -929,12 +930,6 @@ function opnormestinv(A::SparseMatrixCSC{T}, t::Integer = min(2,maximum(size(A)) S = zeros(T <: Real ? Int : Ti, n, t) - function _rand_pm1!(v) - for i in eachindex(v) - v[i] = rand()<0.5 ? 1 : -1 - end - end - function _any_abs_eq(v,n::Int) for vv in v if abs(vv)==n @@ -949,7 +944,7 @@ function opnormestinv(A::SparseMatrixCSC{T}, t::Integer = min(2,maximum(size(A)) X[1:n,1] .= 1 for j = 2:t while true - _rand_pm1!(view(X,1:n,j)) + rand!(view(X,1:n,j), (-1, 1)) yaux = X[1:n,j]' * X[1:n,1:j-1] if !_any_abs_eq(yaux,n) break @@ -1010,7 +1005,7 @@ function opnormestinv(A::SparseMatrixCSC{T}, t::Integer = min(2,maximum(size(A)) end end if repeated - _rand_pm1!(view(S,1:n,j)) + rand!(view(S,1:n,j), (-1, 1)) else break end