dotCall64: An R package providing an efficient interface to compiled C, C++, and Fortran code supporting long vectors

The R package dotCall64 provides an enhanced version of the foreign function interface (FFI) to call compiled C, C++, and Fortran code from the software environment R. It allows users to integrate compiled code without using complex application programming interfaces (APIs), such as the C API of R....

Full description

Bibliographic Details
Main Authors: F. Gerber, K. Mösinger, R. Furrer
Format: Article
Language:English
Published: Elsevier 2018-01-01
Series:SoftwareX
Online Access:http://www.sciencedirect.com/science/article/pii/S2352711018300785
id doaj-e8fdd07f7cfc4580a629cea99ed690c5
record_format Article
spelling doaj-e8fdd07f7cfc4580a629cea99ed690c52020-11-25T02:02:29ZengElsevierSoftwareX2352-71102018-01-017217221dotCall64: An R package providing an efficient interface to compiled C, C++, and Fortran code supporting long vectorsF. Gerber0K. Mösinger1R. Furrer2Department of Mathematics, University of Zurich, Switzerland; Corresponding author.Department of Mathematics, University of Zurich, SwitzerlandDepartment of Mathematics, University of Zurich, Switzerland; Department of Computational Science, University of Zurich, SwitzerlandThe R package dotCall64 provides an enhanced version of the foreign function interface (FFI) to call compiled C, C++, and Fortran code from the software environment R. It allows users to integrate compiled code without using complex application programming interfaces (APIs), such as the C API of R. Moreover, dotCall64 supports long vectors having more than 231−1 elements and implements a mechanism to avoid unnecessary copies of R objects. Therefore, dotCall64 facilitates making existing C, C++, and Fortran libraries accessible for R and is particularly useful for applications involving long vectors. Keywords: Foreign function interface, 64-bit, Large datasetshttp://www.sciencedirect.com/science/article/pii/S2352711018300785
collection DOAJ
language English
format Article
sources DOAJ
author F. Gerber
K. Mösinger
R. Furrer
spellingShingle F. Gerber
K. Mösinger
R. Furrer
dotCall64: An R package providing an efficient interface to compiled C, C++, and Fortran code supporting long vectors
SoftwareX
author_facet F. Gerber
K. Mösinger
R. Furrer
author_sort F. Gerber
title dotCall64: An R package providing an efficient interface to compiled C, C++, and Fortran code supporting long vectors
title_short dotCall64: An R package providing an efficient interface to compiled C, C++, and Fortran code supporting long vectors
title_full dotCall64: An R package providing an efficient interface to compiled C, C++, and Fortran code supporting long vectors
title_fullStr dotCall64: An R package providing an efficient interface to compiled C, C++, and Fortran code supporting long vectors
title_full_unstemmed dotCall64: An R package providing an efficient interface to compiled C, C++, and Fortran code supporting long vectors
title_sort dotcall64: an r package providing an efficient interface to compiled c, c++, and fortran code supporting long vectors
publisher Elsevier
series SoftwareX
issn 2352-7110
publishDate 2018-01-01
description The R package dotCall64 provides an enhanced version of the foreign function interface (FFI) to call compiled C, C++, and Fortran code from the software environment R. It allows users to integrate compiled code without using complex application programming interfaces (APIs), such as the C API of R. Moreover, dotCall64 supports long vectors having more than 231−1 elements and implements a mechanism to avoid unnecessary copies of R objects. Therefore, dotCall64 facilitates making existing C, C++, and Fortran libraries accessible for R and is particularly useful for applications involving long vectors. Keywords: Foreign function interface, 64-bit, Large datasets
url http://www.sciencedirect.com/science/article/pii/S2352711018300785
work_keys_str_mv AT fgerber dotcall64anrpackageprovidinganefficientinterfacetocompiledccandfortrancodesupportinglongvectors
AT kmosinger dotcall64anrpackageprovidinganefficientinterfacetocompiledccandfortrancodesupportinglongvectors
AT rfurrer dotcall64anrpackageprovidinganefficientinterfacetocompiledccandfortrancodesupportinglongvectors
_version_ 1724952609508294656