]> gitweb.factorcode.org Git - factor.git/commitdiff
Add flags to math.bitfields
authorsheeple <sheeple@joy.internal.stack-effects.com>
Sat, 2 Feb 2008 12:58:28 +0000 (06:58 -0600)
committersheeple <sheeple@joy.internal.stack-effects.com>
Sat, 2 Feb 2008 12:58:28 +0000 (06:58 -0600)
core/inference/transforms/transforms.factor
core/math/bitfields/bitfields.factor

index fd15b7da9878519af669f034f63b801d1304314a..ad2bacc78994c4d62bdda15740a7fdc69ffa3e45 100755 (executable)
@@ -54,6 +54,8 @@ M: pair (bitfield-quot) ( spec -- quot )
 
 \ bitfield [ bitfield-quot ] 1 define-transform
 
+\ flags [ flags [ ] curry ] 1 define-transform
+
 ! Tuple operations
 : [get-slots] ( slots -- quot )
     [ [ 1quotation , \ keep , ] each \ drop , ] [ ] make ;
index f6a34197845d30d20082410016e21a49be6307a4..29c3329f3d197ac938006306b704c61f4c625a7e 100644 (file)
@@ -1,4 +1,4 @@
-! Copyright (C) 2007 Slava Pestov.
+! Copyright (C) 2007, 2008 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: arrays kernel math sequences words ;
 IN: math.bitfields
@@ -13,3 +13,6 @@ M: pair (bitfield) ( value accum pair -- newaccum )
 
 : bitfield ( values... bitspec -- n )
     0 [ (bitfield) ] reduce ;
+
+: flags ( values -- n )
+    0 [ execute bitor ] reduce ;