This package provides the ability to load and call "foreign" functions from shared libraries and to convert back and forth between Macaulay2 things and the foreign objects used by these functions. It is powered by libffi.
As a simple example, we call the cos
function from the C standard library, which sends a double
(a real number represented as a double-precision floating point number) to another double
, the cosine of the input.
|
|
|
In this example, we created a ForeignFunction
object using the foreignFunction constructor method and specified that both its output and input were instances of the double type, which is one of several ForeignType objects that are available.
See also the following additional examples:
Version 0.4 of this package was accepted for publication in volume 15 of Journal of Software for Algebra and Geometry on 2024-12-17, in the article ForeignFunctions package for Macaulay2 (DOI: 10.2140/jsag.2025.15.1). That version can be obtained from the journal.
This documentation describes version 0.5 of ForeignFunctions.
If you have used this package in your research, please cite it as follows:
|
The object ForeignFunctions is a package, defined in ForeignFunctions.m2.
The source of this document is in ForeignFunctions.m2:752:0.