From c36adbd749abe55b3dcbf7bec4cb84ee5c044b8b Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Tue, 31 Jul 2012 20:23:32 -0700 Subject: [PATCH] ui.gadgets: faster max-dims and sum-dims. --- basis/ui/gadgets/gadgets.factor | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/basis/ui/gadgets/gadgets.factor b/basis/ui/gadgets/gadgets.factor index 2d79a143dc..003ae083e8 100644 --- a/basis/ui/gadgets/gadgets.factor +++ b/basis/ui/gadgets/gadgets.factor @@ -87,9 +87,11 @@ M: gadget contains-point? ( loc gadget -- ? ) [ contains-point? ] with find-last nip [ [ loc>> v- ] [ pick-up ] bi ] [ nip ] ?if ; -: max-dims ( dims -- dim ) { 0 0 } [ vmax ] reduce ; +: max-dims ( seq -- dim ) + [ 0 0 ] dip [ first2 swapd [ max ] 2bi@ ] each 2array ; -: sum-dims ( seq -- dim ) { 0 0 } [ v+ ] reduce ; +: sum-dims ( seq -- dim ) + [ 0 0 ] dip [ first2 swapd [ + ] 2bi@ ] each 2array ; : each-child ( gadget quot -- ) [ children>> ] dip each ; inline