aboutsummaryrefslogtreecommitdiff
path: root/src/interp/fortcall.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/fortcall.boot')
-rw-r--r--src/interp/fortcall.boot26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/interp/fortcall.boot b/src/interp/fortcall.boot
index 9d7d0d50..a8322d8f 100644
--- a/src/interp/fortcall.boot
+++ b/src/interp/fortcall.boot
@@ -399,11 +399,11 @@ vec2Lists u == [vec2Lists1 ELT(u,i) for i in 0..#u-1]
spad2lisp(u) ==
-- Turn complexes into arrays of floats
first first(u)="Complex" =>
- makeVector([makeVector([CADR u,CDDR u],'DOUBLE_-FLOAT)],NIL)
+ makeVector([makeVector([CADR u,CDDR u],"%DoubleFloat")],NIL)
-- Turn arrays of complexes into arrays of floats so that tarnsposing
-- them puts them in the correct fortran order
first first(u)="Matrix" and first SECOND first(u) = "Complex" =>
- makeVector([makeVector(complexRows vec2Lists rest u,'DOUBLE_-FLOAT)],NIL)
+ makeVector([makeVector(complexRows vec2Lists rest u,"%DoubleFloat")],NIL)
rest(u)
invokeFortran(objFile,args,dummies,decls,results,actual) ==
@@ -526,14 +526,14 @@ spadify(l,results,decls,names,actual) ==
lispType u ==
-- Return the lisp type equivalent to the given Fortran type.
LISTP u => lispType first u
- u = "real" => "SHORT-FLOAT"
- u = "double" => "DOUBLE-FLOAT"
- u = "double precision" => "DOUBLE-FLOAT"
+ u = "real" => "%SingleFloat"
+ u = "double" => "%DoubleFloat"
+ u = "double precision" => "DoubleFloat"
u = "integer" => "FIXNUM"
u = "logical" => "BOOLEAN"
u = "character" => "CHARACTER"
- u = "complex" => "SHORT-FLOAT"
- u = "double complex" => "DOUBLE-FLOAT"
+ u = "complex" => "%SingleFloat"
+ u = "double complex" => "%DoubleFloat"
error ['"Unrecognised Fortran type: ",u]
getVal(u,names,values) ==
@@ -552,11 +552,11 @@ prepareData(args,dummies,values,decls) ==
checkForBoolean u ==
- u = "BOOLEAN" => "FIXNUM"
+ u = "BOOLEAN" => "%Short"
u
-shortZero == COERCE(0.0,'SHORT_-FLOAT)
-longZero == COERCE(0.0,'DOUBLE_-FLOAT)
+shortZero == COERCE(0,"%SingleFloat")
+longZero == COERCE(0,"%DoubleFloat")
prepareResults(results,args,dummies,values,decls) ==
-- Create the floating point zeros (boot doesn't like 0.0d0, 0.0D0 etc)
@@ -570,7 +570,7 @@ prepareResults(results,args,dummies,values,decls) ==
makeVector( makeList(
2*APPLY('_*,[getVal(tt,argNames,actual) for tt in rest(type)]),_
if first(type)="complex" then shortZero else longZero),_
- if first(type)="complex" then "SHORT-FLOAT" else "DOUBLE-FLOAT" )
+ if first(type)="complex" then "%SingleFloat" else "%DoubleFloat" )
LISTP type => makeVector(_
makeList(
APPLY('_*,[getVal(tt,argNames,actual) for tt in rest(type)]),_
@@ -582,8 +582,8 @@ prepareResults(results,args,dummies,values,decls) ==
type = "double precision" => longZero
type = "logical" => 0
type = "character" => MAKE_-STRING(1)
- type = "complex" => makeVector([shortZero,shortZero],'SHORT_-FLOAT)
- type = "double complex" => makeVector([longZero,longZero],'LONG_-FLOAT)
+ type = "complex" => makeVector([shortZero,shortZero],"%SingleFloat")
+ type = "double complex" => makeVector([longZero,longZero],"%DoubleFloat")
error ['"Unrecognised Fortran type: ",type]
NREVERSE data