1 ! Copyright (C) 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.c-types combinators fry kernel lexer math math.parser
4 math.vectors.simd.functor sequences splitting vocabs.generated
5 vocabs.loader vocabs.parser words ;
8 ERROR: bad-vector-size bits ;
12 : simd-vocab ( type -- vocab )
13 "math.vectors.simd.instances." prepend ;
15 : parse-simd-name ( string -- c-type quot )
17 [ "alien.c-types" lookup dup heap-size ] [ string>number ] bi*
19 { 128 [ [ define-simd-128 ] ] }
20 { 256 [ [ define-simd-256 ] ] }
26 : define-simd-vocab ( type -- vocab )
28 [ '[ _ parse-simd-name call( type -- ) ] ] bi
32 scan define-simd-vocab use-vocab ;