From 5e165925963c14fb9b31a9db445cf565e337bf2d Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Tue, 29 Sep 2009 18:10:36 -0500 Subject: [PATCH] add a "vmask" vector op to selectively zero out elements --- basis/math/vectors/vectors.factor | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/basis/math/vectors/vectors.factor b/basis/math/vectors/vectors.factor index e3d4f1b342..bac7183c6d 100644 --- a/basis/math/vectors/vectors.factor +++ b/basis/math/vectors/vectors.factor @@ -97,7 +97,9 @@ PRIVATE> : vunordered? ( u v -- w ) [ unordered? ] { } 2map-as ; : v= ( u v -- w ) [ = ] { } 2map-as ; -: v? ( ? u v -- w ) [ ? ] pick 3map-as ; +: v? ( ? true false -- w ) [ ? ] pick 3map-as ; + +: vmask ( u ? -- u' ) swap dup dup vbitxor v? ; : vfloor ( u -- v ) [ floor ] map ; : vceiling ( u -- v ) [ ceiling ] map ;