! Copyright (C) 2010 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors alien.data alien.parser arrays assocs
-byte-arrays classes.struct combinators combinators.short-circuit
-cuda cuda.ffi fry generalizations io.backend kernel macros math
-namespaces sequences variants words ;
-FROM: classes.struct.private => compute-struct-offsets write-struct-slot ;
+byte-arrays classes.struct classes.struct.private combinators
+combinators.short-circuit cuda cuda.ffi fry generalizations
+io.backend kernel locals macros math namespaces sequences
+variants words ;
QUALIFIED-WITH: alien.c-types c
IN: cuda.libraries
: cuda-global ( module-name symbol-name -- device-ptr )
cuda-global* drop ; inline
-: define-cuda-function ( word module-name function-name arguments -- )
- [ '[ _ _ _ cuda-invoke ] ]
- [ 2nip \ grid suffix c:void function-effect ]
- 3bi define-inline ;
+:: define-cuda-function ( word module-name function-name types names -- )
+ word
+ [ module-name function-name types cuda-invoke ]
+ names "grid" suffix c:void function-effect
+ define-inline ;
: define-cuda-global ( word module-name symbol-name -- )
'[ _ _ cuda-global ] ( -- device-ptr ) define-inline ;
SYNTAX: CUDA-FUNCTION:
scan-token [ create-word-in current-cuda-library get ] keep
- scan-c-args drop define-cuda-function ;
+ scan-c-args define-cuda-function ;
SYNTAX: CUDA-GLOBAL:
scan-token [ create-word-in current-cuda-library get ] keep