! (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
[ { [ length ] [ drop ] [ drop ] [ drop ] [ drop ] } spread ]
} 5 ncleave
! [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>]
- shuffle( aa ba ca da ea ab -- aa ab ba ca da ea )
+ shuffle( aa ba ca da ea ab -- aa ab ba ca da ea )
{
[ drop ]
[ drop ]
[ { [ 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 )
+ shuffle( reta aa -- reta aa )
{ [ ] [ drop ] } spread
] ] [
"REAL" "funpack" "FUN_TIMES" { "REAL(*)" }
! [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>]
- shuffle( reta retb -- reta retb )
+ shuffle( reta retb -- reta retb )
{ [ ] [ ascii alien>nstring ] } spread
] ] [
"CHARACTER*20" "funpack" "FUN_TIMES" { }
! [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>]
- shuffle( reta retb aa ba ca ab cb -- reta retb aa ab ba ca cb )
+ shuffle( reta retb aa ba ca ab cb -- reta retb aa ab ba ca cb )
{
[ ]
[ ascii alien>nstring ]