@@ -816,10 +816,14 @@ end
816
816
@test norm (x, Inf ) == 3.5
817
817
end
818
818
819
- @testset " maximum, minimum" begin
819
+ @testset " maximum, minimum, findmax, findmin " begin
820
820
let x = spv_x1
821
821
@test maximum (x) == 3.5
822
+ @test findmax (x) == findmax (Vector (x)) == (3.5 , 6 )
823
+ @test findmax (x -> - x, x) == findmax (- x) == (0.75 , 5 )
822
824
@test minimum (x) == - 0.75
825
+ @test findmin (x) == findmin (Vector (x)) == (- 0.75 , 5 )
826
+ @test findmin (x -> - x, x) == findmin (- x) == (- 3.5 , 6 )
823
827
@test maximum (abs, x) == 3.5
824
828
@test minimum (abs, x) == 0.0
825
829
@test @inferred (minimum (t -> true , x)) === true
@@ -832,21 +836,51 @@ end
832
836
833
837
let x = abs .(spv_x1)
834
838
@test maximum (x) == 3.5
839
+ @test findmax (x) == findmax (Vector (x)) == (3.5 , 6 )
840
+ @test findmax (abs2, x) == findmax (abs2 .(x)) == findmax (Vector (abs2 .(x)))
835
841
@test minimum (x) == 0.0
842
+ @test findmin (x) == findmin (Vector (x)) == (0.0 , 1 )
843
+ @test findmin (abs2, x) == findmin (abs2 .(x)) == findmin (Vector (abs2 .(x)))
836
844
end
837
845
838
846
let x = - abs .(spv_x1)
839
847
@test maximum (x) == 0.0
848
+ @test findmax (x) == findmax (Vector (x)) == (0.0 , 1 )
840
849
@test minimum (x) == - 3.5
850
+ @test findmin (x) == findmin (Vector (x)) == (- 3.5 , 6 )
841
851
end
842
852
843
853
let x = SparseVector (3 , [1 , 2 , 3 ], [- 4.5 , 2.5 , 3.5 ])
844
854
@test maximum (x) == 3.5
855
+ @test findmax (x) == findmax (Vector (x)) == (3.5 , 3 )
845
856
@test minimum (x) == - 4.5
857
+ @test findmin (x) == findmin (Vector (x)) == (- 4.5 , 1 )
846
858
@test maximum (abs, x) == 4.5
847
859
@test minimum (abs, x) == 2.5
848
860
end
849
861
862
+ let x = SparseVector (3 , [1 , 2 , 3 ], [4.5 , 0.0 , 3.5 ])
863
+ @test minimum (x) == 0.0
864
+ @test findmin (x) == findmin (Vector (x)) == (0.0 , 2 )
865
+ end
866
+
867
+ let x = SparseVector (3 , [1 , 2 , 3 ], [- 4.5 , 0.0 , - 3.5 ])
868
+ @test maximum (x) == 0.0
869
+ @test findmax (x) == findmax (Vector (x)) == (0.0 , 2 )
870
+ end
871
+
872
+ for i in (2 , 3 )
873
+ let x = SparseVector (4 , [1 , i, 4 ], [4.5 , 0.0 , 3.5 ])
874
+ @test minimum (x) == 0.0
875
+ @test findmin (x) == findmin (Vector (x)) == (0.0 , 2 )
876
+ end
877
+
878
+ let x = SparseVector (4 , [1 , i, 4 ], [- 4.5 , 0.0 , - 3.5 ])
879
+ @test maximum (x) == 0.0
880
+ @test findmax (x) == findmax (Vector (x)) == (0.0 , 2 )
881
+ end
882
+ end
883
+
850
884
let x = spzeros (Float64, 8 )
851
885
@test maximum (x) == 0.0
852
886
@test minimum (x) == 0.0
861
895
let x = spzeros (Float64, 0 )
862
896
@test_throws ArgumentError minimum (t -> true , x)
863
897
@test_throws ArgumentError maximum (t -> true , x)
898
+ @test_throws ArgumentError findmin (x)
899
+ @test_throws ArgumentError findmax (x)
864
900
end
865
901
end
866
902
0 commit comments