! (c) 2009 Joe Groff, see BSD license
-USING: accessors alien alien.c-types alien.complex
-alien.data alien.fortran alien.fortran.private alien.strings
-classes.struct arrays assocs byte-arrays combinators fry
-generalizations io.encodings.ascii kernel macros
-macros.expander namespaces sequences shuffle tools.test vocabs.parser ;
+USING: alien alien.c-types alien.complex alien.data
+alien.fortran alien.fortran.private alien.strings
+byte-arrays classes.struct combinators generalizations
+io.encodings.ascii kernel namespaces sequences shuffle
+tools.test vocabs.parser ;
FROM: alien.syntax => pointer: ;
QUALIFIED-WITH: alien.c-types c
IN: alien.fortran.tests
! [fortran-invoke]
[
c:void "funpack" "funtimes_"
- { pointer: { c:char 12 } pointer: c:longlong pointer: c:float pointer: complex-float pointer: c:short c:long }
+ { pointer: { c:char 12 } pointer: c:longlong pointer: c:float pointer: complex-float pointer: c:short c:long } f
alien-invoke
] 6 nkeep
! [fortran-results>]
[ { [ drop ] } spread ]
} 1 ncleave
! [fortran-invoke]
- [ c:float "funpack" "fun_times_" { pointer: { c:float 0 } } alien-invoke ]
+ [ c:float "funpack" "fun_times_" { pointer: { c:float 0 } } f alien-invoke ]
1 nkeep
! [fortran-results>]
shuffle( reta aa -- reta aa )
! [fortran-invoke]
[
c:void "funpack" "fun_times_"
- { pointer: complex-float pointer: { c:float 0 } }
+ { pointer: complex-float pointer: { c:float 0 } } f
alien-invoke
] 2 nkeep
! [fortran-results>]
! [fortran-invoke]
[
c:void "funpack" "fun_times_"
- { pointer: { c:char 20 } long }
+ { pointer: { c:char 20 } long } f
alien-invoke
] 2 nkeep
! [fortran-results>]
! [fortran-invoke]
[
c:void "funpack" "fun_times_"
- { pointer: { c:char 10 } long pointer: { c:char 20 } pointer: c:float pointer: { c:char 30 } c:long c:long }
+ { pointer: { c:char 10 } long pointer: { c:char 20 } pointer: c:float pointer: { c:char 30 } c:long c:long } f
alien-invoke
] 7 nkeep
! [fortran-results>]