@@ -610,26 +610,17 @@ julia> any!([1 1], A)
610
610
"""
611
611
any! (r, A)
612
612
613
- for (fname, op) in [(:sum , :+ ), (:prod , :* ),
613
+ for (fname, op) in [(:sum , :add_tosys ), (:prod , :mul_tosys ),
614
614
(:maximum , :scalarmax ), (:minimum , :scalarmin ),
615
615
(:all , :& ), (:any , :| )]
616
- function compose_promote_sys_size (x)
617
- if fname === :sum
618
- :(promote_sys_size_add ∘ $ x)
619
- elseif fname === :prod
620
- :(promote_sys_size_mul ∘ $ x)
621
- else
622
- x
623
- end
624
- end
625
616
fname! = Symbol (fname, ' !' )
626
617
@eval begin
627
618
$ (fname!)(f:: Function , r:: AbstractArray , A:: AbstractArray ; init:: Bool = true ) =
628
619
mapreducedim! (f, $ (op), initarray! (r, $ (op), init, A), A)
629
620
$ (fname!)(r:: AbstractArray , A:: AbstractArray ; init:: Bool = true ) = $ (fname!)(identity, r, A; init= init)
630
621
631
622
$ (fname)(f:: Function , A:: AbstractArray , region) =
632
- mapreducedim ($ ( compose_promote_sys_size ( :f )) , $ (op), A, region)
623
+ mapreducedim (f , $ (op), A, region)
633
624
$ (fname)(A:: AbstractArray , region) = $ (fname)(identity, A, region)
634
625
end
635
626
end
0 commit comments