-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Deprecate functions vectorized via @vectorize_(1|2)arg
in favor of compact broadcast syntax
#17302
Conversation
+100 if we are sure this won't affect performance. I guess this depends on |
I feel like this is best delayed for 0.6 — it's going to lead to a huge number of deprecation warnings in packages. |
Indeed, the |
:airyprime, :airyai, :airyaiprime, :airybi, :airybiprime, :airy, :airyx, :besselj0, :besselj1, :bessely0, :bessely1, # base/special/bessel.jl | ||
:cbrt, :sinh, :cosh, :tanh, :atan, :asinh, :exp, :erf, :erfc, :exp2, :expm1, :exp10, :sin, :cos, :tan, :asin, :acos, :acosh, :atanh, #=:log,=# :log2, :log10, :lgamma, #=:log1p,=# :sqrt, # base/math.jl | ||
:abs, :abs2, :angle, :isnan, :isinf, :isfinite, # base/floatfuncs.jl | ||
:acos_fast, :acosh_fast, :angle_fast, :asin_fast, :asinh_fast, :atan_fast, :atanh_fast, :cbrt_fast, :cis_fast, :cos_fast, :cosh_fast, :exp10_fast, :exp2_fast, :exp_fast, :expm1_fast, :lgamma_fast, :log10_fast, :log1p_fast, :log2_fast, :log_fast, :sin_fast, :sinh_fast, :sqrt_fast, :tan_fast, :tanh_fast, # base/fastmath.jl |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like that these are annotated with where they came from, but should spread over multiple lines when it gets this long
Agreed. This change should wait for 0.6 for several reasons. Best! |
Note that this will close #4363. |
545773a
to
166c97a
Compare
Rebased for 0.6 and passing CI. Nanosoldier? Best! |
How does this affect performance? I think a nanosoldier run could be worthwhile |
There are very few benchmarks for sparse arrays in |
@vectorize_(1|2)arg
in favor of compact broadcast syntax@vectorize_(1|2)arg
in favor of compact broadcast syntax
@KristofferC, most functionality this pull request touches is not immediately related to sparse arrays. Conjecturing the contrary was reasonable though, given my predilections :). |
@nanosoldier |
Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. cc @jrevels |
Rebased resolving a deprecation conflict. Prior to rebase, this PR passed both AppVeyor and Travis. Nanosoldier appears happy as well. (As |
Test failure due to use of |
Might require some manual updates as well? |
Rebased. Thanks for the ping! |
This PR deprecates all functions vectorized via macros
vectorize_1arg
andvectorize_2arg
in favor of compact broadcast syntax (ref. #16285). Many non-macro-vectorized functions remain for a separate PR. Should this PR deprecate thevectorize_1arg
andvectorize_2arg
macros themselves alongside their usage in base? Best!TODO: Vectorized functions involving dates/times.Done.TODO: Prettify deprecation warnings. See Display of compact broadcast expressions #17289.Fixed in Naive fix for pretty-printing of compact broadcast expressions #17521.TODO: Resolve issue with the last test in test/operators.jl. See Interaction between compact broadcast syntax and splatting? #17304.Thanks@stevengj
!TODO: Resolve deprecation warnings issued by markdown's colwidths. @MikeInnes, how would you rewrite that line less vectorizedmax
? My attempts broke markdown, so I imagine I don't understand the intention. Thanks!Ref. #17265 (devectorization of functions over
SparseMatrixCSC
s).