Skip to content

Automatic JuliaFormatter.jl run #7

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@ makedocs(
format = Documenter.HTML(; prettyurls = get(ENV, "CI", nothing) == "true"),
authors = "Julia Approx Inference members",
sitename = "ApproxInferenceBase.jl",
pages = Any["index.md"]
pages = Any["index.md"],
# strict = true,
# clean = true,
# checkdocs = :exports,
)
deploydocs(
repo = "github.com/JuliaApproxInference/ApproxInferenceBase.jl.git",
)
deploydocs(repo = "github.com/JuliaApproxInference/ApproxInferenceBase.jl.git")
6 changes: 3 additions & 3 deletions src/ApproxInferenceBase.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module ApproxInferenceBase
using Distributions
using Random
include("priors.jl")
using Distributions
using Random
include("priors.jl")
end # module
25 changes: 13 additions & 12 deletions src/priors.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Distributions.pdf, Distributions.logpdf, Random.rand, Base.length

struct MixedSupport <: ValueSupport; end
struct MixedSupport <: ValueSupport end

"""
Factored{N} <: Distribution{Multivariate, MixedSupport}
Expand All @@ -9,7 +9,7 @@ a `Distribution` type that can be used to combine multiple `UnivariateDistributi

Example: it can be used as `prior = Factored(Normal(0,1), Uniform(-1,1))`
"""
struct Factored{N}<:Distribution{Multivariate,MixedSupport}
struct Factored{N} <: Distribution{Multivariate,MixedSupport}
p::NTuple{N,UnivariateDistribution}
Factored(args::UnivariateDistribution...) = new{length(args)}(args)
end
Expand All @@ -18,10 +18,10 @@ end

Function to evaluate the pdf of a `Factored` distribution object
"""
function pdf(d::Factored{N},x) where N
s=pdf(d.p[1],x[1])
for i in 2:N
s*=pdf(d.p[i],x[i])
function pdf(d::Factored{N}, x) where {N}
s = pdf(d.p[1], x[1])
for i = 2:N
s *= pdf(d.p[i], x[i])
end
s
end
Expand All @@ -31,10 +31,10 @@ end

Function to evaluate the logpdf of a `Factored` distribution object
"""
function logpdf(d::Factored{N},x) where N
s=logpdf(d.p[1],x[1])
for i in 2:N
s+=logpdf(d.p[i],x[i])
function logpdf(d::Factored{N}, x) where {N}
s = logpdf(d.p[1], x[1])
for i = 2:N
s += logpdf(d.p[i], x[i])
end
s
end
Expand All @@ -44,13 +44,14 @@ end

function to sample one element from a `Factored` object
"""
rand(rng::AbstractRNG,factoreddist::Factored{N}) where N = ntuple(i->rand(rng,factoreddist.p[i]),Val(N))
rand(rng::AbstractRNG, factoreddist::Factored{N}) where {N} =
ntuple(i -> rand(rng, factoreddist.p[i]), Val(N))

"""
length(p::Factored) = begin

returns the number of distributions contained in `p`.
"""
length(p::Factored{N}) where N = N
length(p::Factored{N}) where {N} = N

export Factored
4 changes: 2 additions & 2 deletions test/coverage/coverage.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# only push coverage from one bot
get(ENV, "TRAVIS_OS_NAME", nothing) == "linux" || exit(0)
get(ENV, "TRAVIS_JULIA_VERSION", nothing) == "1.3" || exit(0)
get(ENV, "TRAVIS_OS_NAME", nothing) == "linux" || exit(0)
get(ENV, "TRAVIS_JULIA_VERSION", nothing) == "1.3" || exit(0)

using Coverage

Expand Down
22 changes: 11 additions & 11 deletions test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@ using Distributions
using Random

@testset "Factored" begin
d=Factored(Uniform(0,1),Uniform(100,101))
@test all((0,100) .<= rand(d) .<= (1,101))
@test pdf(d,(0.0,0.0)) == 0.0
@test pdf(d,(0.5,100.5)) == 1.0
@test logpdf(d,(0.5,100.5)) == 0.0
@test logpdf(d,(0.0,0.0)) == -Inf
d = Factored(Uniform(0, 1), Uniform(100, 101))
@test all((0, 100) .<= rand(d) .<= (1, 101))
@test pdf(d, (0.0, 0.0)) == 0.0
@test pdf(d, (0.5, 100.5)) == 1.0
@test logpdf(d, (0.5, 100.5)) == 0.0
@test logpdf(d, (0.0, 0.0)) == -Inf
@test length(d) == 2
m=Factored(Uniform(0.00,1.0),DiscreteUniform(1,2))
sample=rand(m)
@test 0<sample[1]<1
m = Factored(Uniform(0.00, 1.0), DiscreteUniform(1, 2))
sample = rand(m)
@test 0 < sample[1] < 1
@test sample[2] == 1 || sample[2] == 2
@test pdf(m,sample) == 0.5
@test logpdf(m,sample) ≈ log(0.5)
@test pdf(m, sample) == 0.5
@test logpdf(m, sample) ≈ log(0.5)
end