Skip to content

Commit f446185

Browse files
committed
fixes
1 parent fa871ba commit f446185

File tree

4 files changed

+18
-15
lines changed

4 files changed

+18
-15
lines changed

src/combinators/power.jl

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,14 @@ function Base.:^(μ::M, dims::NTuple{N,I}) where {M<:AbstractMeasure,N,I<:Intege
4242
end
4343

4444
# Same as PowerMeasure
45-
function Base.show(io::IO, d::ProductMeasure{F,S,<:Fill}) where {F,S}
45+
function Base.show(io::IO, d::ProductMeasure{Returns{T},I,C}) where {T,I,C<:CartesianIndices}
4646
io = IOContext(io, :compact => true)
47-
print(io, d.f(first(d.pars)), " ^ ", size(d.pars))
47+
print(io, d.f.f.value, " ^ ", size(d.pars))
4848
end
4949

50-
# Same as PowerMeasure{F,T,1} where {F,T}
51-
function Base.show(io::IO, d::ProductMeasure{F,S,Fill{T,1,A}}) where {F,S,T,A}
50+
function Base.show(io::IO, d::ProductMeasure{R,I,V}) where {R<:Returns,I,V<:AbstractVector}
5251
io = IOContext(io, :compact => true)
53-
print(io, d.f(first(d.pars)), " ^ ", size(d.pars)[1])
52+
print(io, d.f.f.value, " ^ ", length(d.pars))
5453
end
5554

5655
# sampletype(d::PowerMeasure{M,N}) where {M,N} = @inbounds Array{sampletype(first(marginals(d))), N}

src/combinators/smart-constructors.jl

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,11 @@ end
5555
# PowerMeaure
5656

5757
function powermeasure::M, dims::NTuple{N,I}) where {M<:AbstractMeasure,N,I<:Integer}
58-
productmeasure(identity, Fill(μ, dims))
58+
productmeasure(Returns(μ), identity, CartesianIndices(dims))
59+
end
60+
61+
function powermeasure::M, dims::Tuple{I}) where {M<:AbstractMeasure,N,I<:Integer}
62+
productmeasure(Returns(μ), identity, 1:first(dims))
5963
end
6064

6165
function powermeasure::WeightedMeasure, dims::NTuple{N,I}) where {N,I<:Integer}
@@ -68,14 +72,14 @@ end
6872

6973
productmeasure(f, ops, pars) = ProductMeasure(kernel(f, ops), pars)
7074

75+
productmeasure(f, pars) = productmeasure(f, identity, pars)
76+
7177
productmeasure(μs::Tuple) = TupleProductMeasure(μs)
7278

7379
productmeasure(f::Returns, ::typeof(identity), pars) = ProductMeasure(kernel(f, identity), pars)
7480

7581
productmeasure(k::Kernel, pars) = productmeasure(k.f, k.ops, pars)
7682

77-
productmeasure(f::Function, pars) = productmeasure(f, identity, pars)
78-
7983
productmeasure(nt::NamedTuple) = productmeasure(identity, nt)
8084

8185

src/kernel.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ function basekernel end
6868

6969

7070
# TODO: Find a way to do better than this
71-
basekernel(f::Function) = basemeasure f
71+
basekernel(f) = basemeasure f
7272

7373
basekernel(k::Kernel) = kernel(basekernel(k.f), k.ops)
7474
basekernel(f::Returns) = f

test/runtests.jl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -238,12 +238,12 @@ end
238238
# end
239239
# end
240240

241-
# @testset "Show methods" begin
242-
# @testset "PowerMeasure" begin
243-
# @test repr(Lebesgue(ℝ) ^ 5) == "Lebesgue(ℝ) ^ 5"
244-
# @test repr(Lebesgue(ℝ) ^ (3, 2)) == "Lebesgue(ℝ) ^ (3, 2)"
245-
# end
246-
# end
241+
@testset "Show methods" begin
242+
@testset "PowerMeasure" begin
243+
@test repr(Lebesgue(ℝ) ^ 5) == "Lebesgue(ℝ) ^ 5"
244+
@test repr(Lebesgue(ℝ) ^ (3, 2)) == "Lebesgue(ℝ) ^ (3, 2)"
245+
end
246+
end
247247

248248
# @testset "Density measures and Radon-Nikodym" begin
249249
# x = randn()

0 commit comments

Comments
 (0)