]> gitweb.factorcode.org Git - factor.git/commitdiff
Merge branch 'master' into simd
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Tue, 8 Sep 2009 18:38:14 +0000 (13:38 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Tue, 8 Sep 2009 18:38:14 +0000 (13:38 -0500)
1  2 
basis/math/vectors/specialization/specialization.factor

index 485cbaeca0f94186cd31d4af28941290f97e0ca7,a31a209a19b4f0344386165954369ec1f5429a0b..b8c179d9fd9305473a3f5769cea10295bef8de46
@@@ -67,15 -67,18 +67,19 @@@ H
      { vmin { +vector+ +vector+ -> +vector+ } }
      { vneg { +vector+ -> +vector+ } }
      { vtruncate { +vector+ -> +vector+ } }
 +    { sum { +vector+ -> +scalar+ } }
  }
  
- SYMBOL: specializations
+ PREDICATE: vector-word < word vector-words key? ;
  
- specializations [ vector-words keys [ V{ } clone ] H{ } map>assoc ] initialize
+ : specializations ( word -- assoc )
+     dup "specializations" word-prop
+     [ ] [ V{ } clone [ "specializations" set-word-prop ] keep ] ?if ;
+ M: vector-word subwords specializations values ;
  
  : add-specialization ( new-word signature word -- )
-     specializations get at set-at ;
+     specializations set-at ;
  
  : word-schema ( word -- schema ) vector-words at ;