Prolog: +float C: double x; Pascal: x: real FORTRAN: real x
The argument must be instantiated to an integer or a float; otherwise
the call will raise an exception. The Prolog number is converted to a 32-bit
single-precision (FORTRAN) or a 64-bit double-precision (C or Pascal),
float and passed to the foreign function. Many C compilers will allow
the parameter declaration to be float
instead of double
because they always convert single-precision floating-point arguments to
double-precision. However, C compilers conforming to the new ANSI
standard will not do this, so it is recommended that double
be
used.
Prolog: +single ANSI C: float x; FORTRAN: real x
The argument must be instantiated to an integer or a float; otherwise
the call will raise an exception. The Prolog number is converted to a 32-bit
single-precision float and passed to the foreign function.
+single
can also be used to interface Prolog to any foreign function
where you know that the value passed is going to be picked up as a
32-bit float.
Prolog: +double C: double x; Pascal: real x
The argument must be instantiated to an integer or a float; otherwise
the call will raise an exception. The Prolog number is converted to a
64-bit double-precision (C or Pascal) float and passed to the foreign
function. +double
can also be used to interface Prolog to any
foreign function where you know that the value passed is going to be
picked up as a 64-bit float.