Skip to content
Snippets Groups Projects
Commit 70f3d57a authored by Florian Gerber's avatar Florian Gerber
Browse files

F77_NAME not found

parent e9d7d0de
No related branches found
No related tags found
No related merge requests found
...@@ -2,7 +2,7 @@ Package: dotCall64 ...@@ -2,7 +2,7 @@ Package: dotCall64
Type: Package Type: Package
Title: Enhanced Foreign Function Interface Supporting Long Vectors Title: Enhanced Foreign Function Interface Supporting Long Vectors
Version: 0.9-5 Version: 0.9-5
Date: 2017-12-11 Date: 2017-12-12
Authors@R: c(person("Kaspar", "Moesinger", role = c("aut"), Authors@R: c(person("Kaspar", "Moesinger", role = c("aut"),
email = "kaspar.moesinger@gmail.com"), email = "kaspar.moesinger@gmail.com"),
person("Florian", "Gerber", role = c("cre", "ctb"), person("Florian", "Gerber", role = c("cre", "ctb"),
...@@ -30,4 +30,4 @@ Collate: ...@@ -30,4 +30,4 @@ Collate:
'vector_dc.R' 'vector_dc.R'
'dotCall64.R' 'dotCall64.R'
'zzz.R' 'zzz.R'
RoxygenNote: 5.0.1 RoxygenNote: 6.0.1
...@@ -4,4 +4,4 @@ export(.C64) ...@@ -4,4 +4,4 @@ export(.C64)
export(integer_dc) export(integer_dc)
export(numeric_dc) export(numeric_dc)
export(vector_dc) export(vector_dc)
useDynLib(dotCall64) useDynLib(dotCall64, .registration = TRUE)
...@@ -113,7 +113,7 @@ ...@@ -113,7 +113,7 @@
#' input = x_long, index = 2^31, output = double(1))$output #' input = x_long, index = 2^31, output = double(1))$output
#' #'
#' } #' }
#' @useDynLib dotCall64 #' @useDynLib dotCall64, .registration = TRUE
#' @export #' @export
#' @name dotCall64 #' @name dotCall64
.C64 <- function(.NAME, SIGNATURE, ..., INTENT = NULL, NAOK = FALSE, .C64 <- function(.NAME, SIGNATURE, ..., INTENT = NULL, NAOK = FALSE,
......
% Generated by roxygen2: do not edit by hand % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/dotCall64.R % Please edit documentation in R/dotCall64.R
\name{dotCall64} \name{dotCall64}
\alias{.C64}
\alias{dotCall64} \alias{dotCall64}
\alias{.C64}
\title{dotCall64 - Extended Foreign Function Interface} \title{dotCall64 - Extended Foreign Function Interface}
\usage{ \usage{
.C64(.NAME, SIGNATURE, ..., INTENT = NULL, NAOK = FALSE, PACKAGE = "", .C64(.NAME, SIGNATURE, ..., INTENT = NULL, NAOK = FALSE, PACKAGE = "",
...@@ -131,4 +131,3 @@ F. Gerber, K. Moesinger, and R. Furrer (2017), ...@@ -131,4 +131,3 @@ F. Gerber, K. Moesinger, and R. Furrer (2017),
dotCall64: An efficient interface to compiled C/C++ and Fortran code supporting long vectors, dotCall64: An efficient interface to compiled C/C++ and Fortran code supporting long vectors,
https://arxiv.org/abs/1702.08188. https://arxiv.org/abs/1702.08188.
} }
% Generated by roxygen2: do not edit by hand % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/vector_dc.R % Please edit documentation in R/vector_dc.R
\name{vector_dc} \name{vector_dc}
\alias{integer_dc}
\alias{numeric_dc}
\alias{vector_dc} \alias{vector_dc}
\alias{numeric_dc}
\alias{integer_dc}
\title{Allocate vectors in .C64()} \title{Allocate vectors in .C64()}
\usage{ \usage{
vector_dc(mode = "logical", length = 0L) vector_dc(mode = "logical", length = 0L)
...@@ -32,4 +32,3 @@ leads to performance gains by avoiding unnecessary castings and copies. ...@@ -32,4 +32,3 @@ leads to performance gains by avoiding unnecessary castings and copies.
\examples{ \examples{
vector_dc("integer", 20) vector_dc("integer", 20)
} }
#include <R_ext/RS.h>
#include <stdlib.h> // for NULL
#include <R_ext/Rdynload.h>
/* to get all functions:
nm -g lib/dotCall64/libs/dotCall64.so | grep " T "
*/
// C
extern void BENCHMARK ( void *);
extern void dC64 ( void *);
extern void get64_c ( void *, void *, void *);
extern void get_c ( void *, void *, void *);
extern void TEST_prod_double ( void *, void *);
extern void TEST_prod_int ( void *, void *);
extern void TEST_prod_int64 ( void *, void *);
extern void TEST_times2_double ( void *, void *);
extern void TEST_times2_int ( void *, void *);
extern void TEST_times2_int64 ( void *, void *);
// Fortran
extern void TEST_times2_int64 ( void *, void *);
static const R_CallMethodDef CEntries[] = {
{"BENCHMARK", (DL_FUNC)&BENCHMARK, 1},
{"dC64", (DL_FUNC)&dC64, 1},
{"get64_c", (DL_FUNC)&get64_c, 3},
{"get_c", (DL_FUNC)&get_c, 3},
{"TEST_prod_double", (DL_FUNC)&TEST_prod_double, 2},
{"TEST_prod_int", (DL_FUNC)&TEST_prod_int, 2},
{"TEST_prod_int64", (DL_FUNC)&TEST_prod_int64, 2},
{"TEST_times2_double", (DL_FUNC)&TEST_times2_double, 2},
{"TEST_prod_int", (DL_FUNC)&TEST_prod_int, 2},
{"TEST_prod_int64", (DL_FUNC)&TEST_prod_int64, 2},
{NULL, NULL, 0}
};
static const R_FortranMethodDef FortranEntries[] = {
{"get_f", (DL_FUNC) &F77_NAME(get_f ), 3},
{"get64_f", (DL_FUNC) &F77_NAME(get64_f), 3},
{NULL, NULL, 0}
};
void R_init_spam(DllInfo *dll)
{
R_registerRoutines(dll, NULL, NULL, FortranEntries, NULL);
R_registerRoutines(dll, NULL, CEntries, NULL, NULL);
R_useDynamicSymbols(dll, FALSE);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment