David Widmann

Results 1463 comments of David Widmann

That's supported e.g. in GPLikelihoods (see maybe also the discussion in https://github.com/JuliaGaussianProcesses/GPLikelihoods.jl/issues/55).

On Julia >= 1.9, a CUDA specialization could be put in an extension (possibly could even just be an extension with GPUArrays).

Another point: I wonder if generally it would be better to avoid `atanh` completely, due to its constrained domain and its derivative `1/(1 - x^2)` which might be problematic close...

My impression from https://github.com/JuliaDiff/DiffRules.jl/issues/90 was that the current design doesn't allow to define rules in extensions.

> We don't have a bot that would automatically push a commit to fix formatting? Quite a few packages I know use reviewdog for displaying formatting suggestions in PRs that...

> Interesting. Can you provide links? For instance, https://github.com/devmotion/CalibrationErrors.jl/blob/main/.github/workflows/Format.yml It's e.g. also used by ChainRulesCore and DynamicPPL and other Turing packages.

> adding spaces everywhere around `*` and `/` does not reflect Julia Base conventions. Is there an official guideline where this is mentioned? I am only aware of https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md#code-formatting-guidelines which...

> However, my naive implementations (rand_quick, rand_quick2) beat the default implementation by roughly a factor 10 on my device and cut allocations to a constant amount in the matrix case....

The tuple version seems to be faster (as expected): ```julia julia> using Distributions, BenchmarkTools julia> d = product_distribution(Exponential(1.0), Normal(0.0, 1.0), LogNormal(0.0, 1.0)); julia> rand(d) 3-element Vector{Float64}: 1.4515762558532885 -0.8798585959543993 0.4173652746533735 julia>...

> This is why I used d = product_distribution(v_dists) indeed `product_distribution(::Vector)` still creates a `Distributions.Product`. (Otherwise your benchmarks also wouldn't work since you only define methods for `::Product`) > I...