@@ -6,52 +6,25 @@ inv_foo(y) = log(y / (1 - y))
6
6
InverseFunctions. inverse (:: typeof (foo)) = inv_foo
7
7
InverseFunctions. inverse (:: typeof (inv_foo)) = foo
8
8
9
-
10
9
@testset " inverse" begin
11
- @test inverse (inverse)(inverse (log)) == log
10
+ x = rand ()
11
+ for f in (foo, inv_foo, exp, log, exp2, log2, exp10, log10, expm1, log1p)
12
+ InverseFunctions. test_inverse (f, x)
13
+ end
12
14
13
- x = 4.2
14
- X = rand (10 )
15
15
A = rand (5 , 5 )
16
-
17
- @test @inferred (inverse (foo)(foo (x))) ≈ x
18
- @test @inferred (inverse (inverse (foo))) == foo
19
-
20
- @static if VERSION >= v " 1.6"
21
- log_foo = log ∘ foo
22
- @test inverse (log_foo)(log_foo (x)) ≈ x
23
- @test @inferred (inverse (log_foo)) == inv_foo ∘ exp
16
+ for f in (identity, inv, adjoint, transpose)
17
+ InverseFunctions. test_inverse (f, A)
24
18
end
25
19
20
+ X = rand (5 )
21
+ for f in (Base. Fix1 (broadcast, foo), Base. Fix1 (map, foo))
22
+ for x in (x, fill (x, 3 ), X)
23
+ InverseFunctions. test_inverse (f, x)
24
+ end
25
+ end
26
26
27
- broadcasted_foo = Base. Fix1 (broadcast, foo)
28
- @test @inferred (inverse (inverse (broadcasted_foo))) == broadcasted_foo
29
- @test @inferred (inverse (broadcasted_foo)(broadcasted_foo (x))) ≈ x
30
- @test @inferred (inverse (broadcasted_foo)(broadcasted_foo (fill (x)))) ≈ x
31
- @test @inferred (inverse (broadcasted_foo)(broadcasted_foo (Ref (x)))) ≈ x
32
- @test @inferred (inverse (broadcasted_foo)(broadcasted_foo ((x,))))[1 ] ≈ x
33
- @test @inferred (inverse (broadcasted_foo)(broadcasted_foo (X))) ≈ X
34
-
35
- mapped_foo = Base. Fix1 (map, foo)
36
- @test @inferred (inverse (inverse (mapped_foo))) == mapped_foo
37
- @test @inferred (inverse (mapped_foo)(mapped_foo (x))) ≈ x
38
- @test @inferred (inverse (mapped_foo)(mapped_foo (fill (x)))) ≈ fill (x)
39
- @test @inferred (inverse (mapped_foo)(mapped_foo (Ref (x)))) ≈ fill (x)
40
- @test @inferred (inverse (mapped_foo)(mapped_foo ((x,))))[1 ] ≈ x
41
- @test @inferred (inverse (mapped_foo)(mapped_foo (X))) ≈ X
42
-
43
-
44
- mapped_foo = Base. Fix1 (broadcast, foo)
45
- Y = mapped_foo (X)
46
- @test @inferred (inverse (mapped_foo)(Y)) ≈ X
47
-
48
- for f in (identity, inv, adjoint, transpose)
49
- @test @inferred (inverse (f)(f (A))) ≈ A
50
- @test @inferred (inverse (f)) == f
51
- end
52
-
53
- for f in (exp, log, exp2, log2, exp10, log10, expm1, log1p)
54
- @test @inferred (inverse (f)(f (x))) ≈ x
55
- @test @inferred (inverse (inverse (f))) == f
27
+ @static if VERSION >= v " 1.6"
28
+ InverseFunctions. test_inverse (log ∘ foo, x)
56
29
end
57
30
end
0 commit comments