is defined (reducedim.jl:729, Julia 1.5.0-rc1.0), but not documented.
Also, its behaviour is slightly different from
any(a;dims), For instance,
any([1 2].>0,dims=2) gives a BitArray, while
any(i->i>0,[1 2],dims=2) gives an array of Bools.
I would prefer to use the
any(f, a; dims) method to avoid allocations (when
a is large), but I wonder whether I can rely on it?
I imagine you mean that in the
any(f, array) signature
f is required to be a function, but I couldn’t figure out why that’s needed. What would
any(f, array::AbstractArray) be ambiguous with? Maybe that’s just a leftover from when
dims was a positional argument.
Sorry, I was thinking of something else; please disregard.
Ah, no problem!
It is a bit hard to keep in mind which functions have a method where the first element is any callable object or just
::Function. I would definitely prefer to have good syntax for a lazy broadcasted object and just do
any(for f.(x)) (as in this PR) or whichever other syntax gets chosen.
Do you recommend to stay away from
any(f,a;dims) for now?
I don’t have any special insight, but I think it should be fine: IMO it would be breaking to change the behavior of an exported function. Just in case, you could open an issue or PR to mention that it needs docs.
It would be breaking to change the behavior of the public API, and I am not sure if the public API is defined by the body of the exported functions or by the body of the documented functions. I would advise opening a PR asking for documentation, and then get the answer if it is intended to be part of the public API or not.
@piever and @Henrique_Becker: the PR is now merged
Oh, good news. Thanks for pinging back. Good contribution.