@@ -827,10 +827,11 @@ approx_full(x) = full(x)
827
827
function test_approx_eq (va, vb, Eps, astr, bstr)
828
828
va = approx_full (va)
829
829
vb = approx_full (vb)
830
- if length (va) != length (vb)
830
+ la, lb = length (linearindices (va)), length (linearindices (vb))
831
+ if la != lb
831
832
error (" lengths of " , astr, " and " , bstr, " do not match: " ,
832
- " \n " , astr, " (length $( length (va)) ) = " , va,
833
- " \n " , bstr, " (length $( length (vb)) ) = " , vb)
833
+ " \n " , astr, " (length $la ) = " , va,
834
+ " \n " , bstr, " (length $lb ) = " , vb)
834
835
end
835
836
diff = real (zero (eltype (va)))
836
837
for (xa, xb) = zip (va, vb)
@@ -856,7 +857,7 @@ array_eps{T}(a::AbstractArray{Complex{T}}) = eps(float(maximum(x->(isfinite(x) ?
856
857
array_eps (a) = eps (float (maximum (x-> (isfinite (x) ? abs (x) : oftype (x,NaN )), a)))
857
858
858
859
test_approx_eq (va, vb, astr, bstr) =
859
- test_approx_eq (va, vb, 1E4 * length (va )* max (array_eps (va), array_eps (vb)), astr, bstr)
860
+ test_approx_eq (va, vb, 1E4 * length (linearindices (va) )* max (array_eps (va), array_eps (vb)), astr, bstr)
860
861
861
862
"""
862
863
@test_approx_eq_eps(a, b, tol)
@@ -966,10 +967,10 @@ end
966
967
# nothing.
967
968
function test_approx_eq_modphase {S<:Real,T<:Real} (
968
969
a:: StridedVecOrMat{S} , b:: StridedVecOrMat{T} , err= nothing )
969
- m, n = size (a )
970
- @test n == size (b, 2 ) && m == size (b, 1 )
970
+ @test indices (a, 1 ) == indices (b, 1 ) && indices (a, 2 ) == indices (b, 2 )
971
+ m = length ( indices (a, 1 ) )
971
972
err === nothing && (err= m^ 3 * (eps (S)+ eps (T)))
972
- for i= 1 : n
973
+ for i in indices (a, 2 )
973
974
v1, v2 = a[:, i], b[:, i]
974
975
@test_approx_eq_eps min (abs (norm (v1- v2)), abs (norm (v1+ v2))) 0.0 err
975
976
end
0 commit comments