Skip to content

Commit 260ea7e

Browse files
authored
Merge pull request #78 from tpapp/tp/deprecations
deprecate t(x) interface
2 parents 7379d01 + 48fb25a commit 260ea7e

File tree

5 files changed

+20
-12
lines changed

5 files changed

+20
-12
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
# Unreleased
22

3+
# 0.3.11
4+
35
- remove dependency on MacroTools for abstract dispatch workaround, but require Julia 1.3
6+
- deprecate t(x) interface
7+
8+
# 0.3.10
9+
10+
- compat bump
411

512
# 0.3.9
613

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "TransformVariables"
22
uuid = "84d833dd-6860-57f9-a1a7-6da5db126cff"
33
authors = ["Tamas K. Papp <[email protected]>"]
4-
version = "0.3.10"
4+
version = "0.3.11"
55

66
[deps]
77
ArgCheck = "dce04be8-c92d-5529-be00-80e4d2c0e197"

src/generic.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,11 @@ Transform `x` using `t`. Also available as `t(x)`.
117117
"""
118118
function transform end
119119

120-
(t::AbstractTransform)(x) = transform(t, x)
120+
function (t::AbstractTransform)(x)
121+
Base.depwarn("(t::AbstractTransform)(x) is deprecated, use transform(t, x) instead",
122+
:AbstractTransform) # hack, but works
123+
transform(t, x)
124+
end
121125

122126
"""
123127
$(TYPEDEF)

test/runtests.jl

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
const CIENV = get(ENV, "TRAVIS", "") == "true" || get(ENV, "CI", "") == "true"
2-
31
using DocStringExtensions, LinearAlgebra, LogDensityProblems, OffsetArrays, Parameters,
42
Random, Test, TransformVariables, StaticArrays
53
import Tracker, ForwardDiff
@@ -8,6 +6,8 @@ using TransformVariables:
86
AbstractTransform, ScalarTransform, VectorTransform, ArrayTransform,
97
unit_triangular_dimension, logistic, logistic_logjac, logit, inverse_and_logjac
108

9+
const CIENV = get(ENV, "CI", "") == "true"
10+
1111
include("utilities.jl")
1212

1313
Random.seed!(1)
@@ -86,7 +86,6 @@ end
8686
@testset "dimension checks" begin
8787
U = UnitVector(3)
8888
x = zeros(3) # incorrect
89-
@test_throws ArgumentError U(x)
9089
@test_throws ArgumentError transform(U, x)
9190
@test_throws ArgumentError transform_and_logjac(U, x)
9291
end
@@ -107,7 +106,6 @@ end
107106
@testset "dimension checks" begin
108107
S = UnitSimplex(3)
109108
x = zeros(3) # incorrect
110-
@test_throws ArgumentError S(x)
111109
@test_throws ArgumentError transform(S, x)
112110
@test_throws ArgumentError transform_and_logjac(S, x)
113111
end
@@ -131,7 +129,6 @@ end
131129
C = CorrCholeskyFactor(3)
132130
wrong_x = zeros(dimension(C) + 1)
133131

134-
@test_throws ArgumentError C(wrong_x)
135132
@test_throws ArgumentError transform(C, wrong_x)
136133
@test_throws ArgumentError transform_and_logjac(C, wrong_x)
137134
end
@@ -282,7 +279,7 @@ end
282279
tt = as((a = as(Tuple(as(Vector, asℝ₊, 2) for _ in 1:N)),
283280
b = as(Tuple(UnitVector(n) for n in 1:N))))
284281
x = randn(dimension(tt))
285-
y = tt(x)
282+
y = transform(tt, x)
286283
x′ = inverse(tt, y)
287284
@test x x′
288285
end
@@ -310,7 +307,7 @@ end
310307
f = as(Array, 9)))
311308
z = zeros(dimension(t))
312309
f(θ) = θ.a + θ.b + sum(abs2, θ.c.d) + sum(abs2, θ.c.e)
313-
@test (@inferred f(t(z))) isa Float64
310+
@test (@inferred f(transform(t, z))) isa Float64
314311
@test (@inferred transform_logdensity(t, f, z)) isa Float64
315312
end
316313

@@ -486,12 +483,12 @@ end
486483
####
487484

488485
@testset "broadcasting" begin
489-
@test as𝕀.([0, 0]) == [0.5, 0.5]
486+
@test transform.(as𝕀, [0, 0]) == [0.5, 0.5]
490487

491488
t = UnitVector(3)
492489
d = dimension(t)
493490
x = [zeros(d), zeros(d)]
494-
@test t.(x) == map(t, x)
491+
@test transform.(t, x) == map(x -> transform(t, x), x)
495492
end
496493

497494
####

test/utilities.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ function test_transformation(t::AbstractTransform, is_valid_y;
3434
x isa ScalarTransform && @test dimension(x) == 1
3535
y = @inferred transform(t, x)
3636
@test is_valid_y(y)
37-
@test t(x) == y # callable
37+
@test transform(t, x) == y
3838
y2, lj = @inferred transform_and_logjac(t, x)
3939
@test y2 == y
4040
if t isa ScalarTransform

0 commit comments

Comments
 (0)