Remove arraydist and filldist functions and specialized types #284
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR removes the historical
arraydist
andfilldist
functions along with their associated specialized types from DistributionsAD.jl. These functions predateDistributions.product_distribution
and provide largely redundant functionality.Background
Based on comprehensive benchmarks by @penelopeysm,
Distributions.product_distribution
provides equivalent or better performance in most cases compared to the existingarraydist
andfilldist
implementations. The only exception was with vectors of Normal distributions, but this performance difference should be addressed upstream in Distributions.jl rather than maintained here.Changes
arraydist()
andfilldist()
are no longer exportedMatrixOfUnivariate
,VectorOfMultivariate
,FillVectorOfUnivariate
,FillMatrixOfUnivariate
,FillVectorOfMultivariate
, andVectorOfUnivariate
DistributionsADLazyArraysExt.jl
was dependent on the removed typesMigration
Users should migrate to using
Distributions.product_distribution
directly:This change simplifies the API, reduces maintenance burden, and eliminates duplicate functionality while maintaining full backward compatibility for core DistributionsAD features.
Fixes #274.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
https://api.github.com/repos/ElOceanografo/SparseInverseSubset.jl/tarball/52962839426b75b3021296f7df242e40ecfc0852
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/FluxML/Functors.jl/tarball/60a0339f28a233601cb74468032b5c302d5067de
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/FluxML/IRTools.jl/tarball/57e9ce6cf68d0abf5cb6b3b4abf9bedf05c939c0
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/FluxML/MacroTools.jl/tarball/1e0228a030642014fe5cfe68c2c0a818f9e3f522
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/FluxML/NNlib.jl/tarball/eb6eb10b675236cee09a81da369f94f16d77dc2f
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/FluxML/Optimisers.jl/tarball/131dc319e7c58317e8c6d5170440f6bdaee0a959
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/FluxML/Tracker.jl/tarball/83697ba2237663355de8fb0a800144cda44848a0
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/FluxML/Zygote.jl/tarball/a29cbf3968d36022198bcc6f23fdfd70f7caf737
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/FluxML/ZygoteRules.jl/tarball/434b3de333c75fc446aa0d19fc394edafd07ab08
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/GunnarFarneback/RegistryInstances.jl/tarball/ffd19052caf598b8653b99404058fce14828be51
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaArrays/FillArrays.jl/tarball/6a70198746448456524cb442b8af316927ff3e1a
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaArrays/LazyArrays.jl/tarball/76627adb8c542c6b73f68d4bfd0aa71c9893a079
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaArrays/StaticArrays.jl/tarball/cbea8a6bd7bed51b1619658dec70035e07b8502f
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaArrays/StaticArraysCore.jl/tarball/192954ef1208c7019899fbf8049e717f92959682
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaArrays/StructArrays.jl/tarball/8ad2e38cbb812e29348719cc63580ec1dfeb9de4
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaBinaryWrappers/Expat_jll.jl/tarball/7bb1361afdb33c7f2b085aa49ea8fe1b0fb14e58
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaBinaryWrappers/Git_LFS_jll.jl/tarball/bb8471f313ed941f299aa53d32a94ab3bee08844
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaBinaryWrappers/Git_jll.jl/tarball/cd06e503111a7c5ef1d4a339de6ccf5bd7437b32
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaBinaryWrappers/Libiconv_jll.jl/tarball/be484f5c92fad0bd8acfef35fe017900b0b73809
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaBinaryWrappers/OpenSSH_jll.jl/tarball/cb7acd5d10aff809b4d0191dfe1956c2edf35800
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaBinaryWrappers/OpenSSL_jll.jl/tarball/2ae7d4ddec2e13ad3bddf5c0796f7547cf682391
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaBinaryWrappers/OpenSpecFun_jll.jl/tarball/1346c9208249809840c91b26703912dff463d335
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaBinaryWrappers/Rmath_jll.jl/tarball/58cdd8fb2201a6267e1db87ff148dd6c1dbd8ad8
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaCollections/AbstractTrees.jl/tarball/2d9c9a55f9c93e8887ad391fbae72f8ef55e1177
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaCollections/DataStructures.jl/tarball/6c72198e6a101cccdd4c9731d3985e904ba26037
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaCollections/OrderedCollections.jl/tarball/05868e21324cede2207c6f0f466b4bfef6d5e7ee
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaCollections/SortingAlgorithms.jl/tarball/64d974c2e6fdf07f8155b5b2ca2ffa9069b608d9
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaConcurrent/Atomix.jl/tarball/29bb0eb6f578a587a49da16564705968667f5fa8
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaConcurrent/UnsafeAtomics.jl/tarball/b13c4edda90890e5b04ba24e20a310fbe6f249ff
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaData/DataAPI.jl/tarball/abe83f3a2f1b857aac70ef8b269080af17764bbe
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaData/Missings.jl/tarball/ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaData/Parsers.jl/tarball/7d2f8f21da5db6a806faf7b9b292296da42b2810
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaData/Tables.jl/tarball/f2c1efbc8f3a609aadf318094f8fc5204bdaf344
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaDiff/ChainRules.jl/tarball/224f9dc510986549c8139def08e06f78c562514d
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaDiff/ChainRulesCore.jl/tarball/e4c6a16e77171a5f5e25e9646617ab1c276c5607
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaDiff/ChainRulesTestUtils.jl/tarball/cffe963ae0879e455d74ffd8243348293d72988a
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaDiff/DiffResults.jl/tarball/782dd5f4561f5d267313f23853baaaa4c52ea621
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaDiff/DiffRules.jl/tarball/23163d55f885173722d1e4cf0f6110cdbaf7e272
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaDiff/FiniteDifferences.jl/tarball/06d76c780d657729cf20821fb5832c6cc4dfd0b5
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaDiff/ForwardDiff.jl/tarball/ce15956960057e9ff7f1f535400ffa14c92429a4
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaDiff/ReverseDiff.jl/tarball/3ab8eee3620451b09f0272c271875b4bc02146d9
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaDocs/ANSIColoredPrinters.jl/tarball/574baf8110975760d391c710b6341da1afa48d8c
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaDocs/DocStringExtensions.jl/tarball/7442a5dfe1ebb773c29cc2962a8980f47221d76c
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaDocs/Documenter.jl/tarball/47ffb8f27ffc01e2e57e7ae5365ae5ceef87b03d
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaDocs/IOCapture.jl/tarball/b6d6bfdd7ce25b0f9b2f6b3dd56b2673a66c8770
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaDocs/MarkdownAST.jl/tarball/465a70f0fc7d443a00dcdc3267a497397b8a3899
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaGPU/Adapt.jl/tarball/f7817e2e585aa6d924fd714df1e2a84be7896c60
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaGPU/GPUArrays.jl/tarball/83cf05ab16a73219e5f6bd1bdfa9848fa24ac627
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaGPU/KernelAbstractions.jl/tarball/83c617e9e9b02306a7acab79e05ec10253db7c87
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaIO/CodecZlib.jl/tarball/962834c22b66e32aa10f7611c08c8ca4e20749a9
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaIO/JSON.jl/tarball/31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaIO/Suppressor.jl/tarball/6dbb5b635c5437c68c28c2ac9e39b87138f37c0a
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaIO/TranscodingStreams.jl/tarball/0c45878dcfdcfa8480052b6ab162cdd138781742
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaLang/Compat.jl/tarball/0037835448781bb46feb39866934e243886d756a
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaLang/FunctionWrappers.jl/tarball/d62485945ce5ae9c0c48f124a84998d755bae00e
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaLang/PrecompileTools.jl/tarball/5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaLinearAlgebra/ArrayLayouts.jl/tarball/120e392af69350960b1d3b89d41dcc1d66543858
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaMath/AbstractFFTs.jl/tarball/d92ad398961a3ed262d8bf04a1a2b8340f915fef
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaMath/Combinatorics.jl/tarball/8010b6bb3388abe68d95743dcbea77650bb2eddf
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaMath/HypergeometricFunctions.jl/tarball/68c173f4f449de5b438ee67ed0c9c748dc31a2ec
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaMath/IrrationalConstants.jl/tarball/e2222959fbc6c19554dc15174c81bf7bf3aa691c
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaMath/NaNMath.jl/tarball/9b8215b1ee9e78a293f99797cd31375471b2bcae
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaMath/QuadGK.jl/tarball/9da16da70037ba9d701192e27befedefb91ec284
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaMath/RealDot.jl/tarball/9f0a1b71baaf7650f4fa8a1d168c7fb6ee41f0c9
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaMath/Richardson.jl/tarball/48f038bfd83344065434089c2a79417f38715c41
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/JuliaMath/SpecialFunctions.jl/tarball/41852b8679f78c8d8961eeadc8f62cef861a52e3
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaObjects/ConstructionBase.jl/tarball/b4b092499347b18a015186eae3042f72267106cb
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaPackaging/JLLWrappers.jl/tarball/0533e564aae234aff59ab625543145446d8b6ec2
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaPackaging/Preferences.jl/tarball/0f27480397253da18fe2c12a4ba4eb9eb208bf3d
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaPackaging/Requires.jl/tarball/62389eeff14780bfe55195b7204c0d8738436d64
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaStats/Distributions.jl/tarball/3e6d038b77f22791b8e3472b7c633acea1ecac06
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaStats/LogExpFunctions.jl/tarball/13ca9e2586b89836fd20cccf56e57e2b9ae7f38f
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaStats/PDMats.jl/tarball/f07c06228a1c670ae4c87d1276b92c7c597fdda0
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaStats/Rmath.jl/tarball/852bd0f55565a9e973fcfee83a84413270224dc4
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaStats/Statistics.jl/tarball/ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaStats/StatsAPI.jl/tarball/9d72a13a3f4dd3795a195ac5a44d7d6ff5f552ff
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaStats/StatsBase.jl/tarball/2c962245732371acd51700dbb268af311bddd719
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaStats/StatsFuns.jl/tarball/8e45cecc66f3b42633b8ce14d431e8e57a3e242e
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/JuliaVersionControl/Git.jl/tarball/824a1890086880696fc908fe12a17bcf61738bd8
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/KristofferC/LazilyInitializedFields.jl/tarball/0f2da712350b020bc3957f269c9caad516383ee0
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/LilithHafner/AliasTables.jl/tarball/9876e1e164b144ca45e9e3198d0b689cadfed9ff
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/LilithHafner/PtrArrays.jl/tarball/1d36ef11a9aaf1e8b74dacc6a731dd1de8fd493d
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/queryverse/DataValueInterfaces.jl/tarball/bfc1187b79289637fa0ef6d4436ebdfe6905cbd6
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/queryverse/IteratorInterfaceExtensions.jl/tarball/a3f24677c21f5bbe9d2a714f95dcd58337fb2856
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/queryverse/TableTraits.jl/tarball/c06b2f539df1c6efa794486abfb6ed2022561a39
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/rdeits/CommonSubexpressions.jl/tarball/cda2cfaebb4be89c9084adaca7dd7333369715c5
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/simonster/Reexport.jl/tarball/45e428421666073eab6f2da5c9d310d99bb12f9b
julia --project -e using Pkg; Pkg.instantiate()
(http block)https://api.github.com/repos/vchuravy/HashArrayMappedTries.jl/tarball/2eaa69a7cab70a52b9687c8bf950a5a93ec895ae
julia --project -e using Pkg; Pkg.test()
(http block)https://api.github.com/repos/vchuravy/ScopedValues.jl/tarball/c3b2323466378a2ba15bea4b2f73b081e022f473
julia --project -e using Pkg; Pkg.test()
(http block)pkg.julialang.org
julia --project -e using Pkg; Pkg.instantiate()
(dns block)julia --project -e using Pkg; Pkg.test()
(dns block)If you need me to access, download, or install something from one of these locations, you can either:
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.