diff --git a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/NativeFunction.java b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/NativeFunction.java index aafc59585c25506c181653fdffd0aef01a90f11e..cf1c2d76c38e1b39042c2fe93a716eab11f01def 100644 --- a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/NativeFunction.java +++ b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/NativeFunction.java @@ -75,7 +75,7 @@ public enum NativeFunction { "call_lapack_"), // misc exactSumFunc("([double], sint32, sint32, sint32): double", "call_misc_"), - dqrls("([double], sint32, sint32, [double], sint32, double, [double], [double], [double], [sint32], [sint32], [double], [double]): void", "call_appl_"), + dqrls("([double], sint32, sint32, [double], sint32, double, [double], [double], [double], [sint32], [sint32], [double], [double]): void", "call_misc_"), // stats fft_factor("(sint32, [sint32], [sint32]): void", TruffleNFI_Utils::lookupAndBindStats), fft_work("([double], sint32, sint32, sint32, sint32, [double], [sint32]): sint32", TruffleNFI_Utils::lookupAndBindStats); diff --git a/com.oracle.truffle.r.native/fficall/src/truffle_common/misc_rffi.c b/com.oracle.truffle.r.native/fficall/src/truffle_common/misc_rffi.c index 924c54ff2adceff3b0426f3f5f91c92206e02ac2..b3f681953399e1c8b982a77418d548ccfd945780 100644 --- a/com.oracle.truffle.r.native/fficall/src/truffle_common/misc_rffi.c +++ b/com.oracle.truffle.r.native/fficall/src/truffle_common/misc_rffi.c @@ -48,3 +48,9 @@ double call_misc_exactSumFunc(double* contents, int length, int hasNa, int naRm) return sum; } + +extern void dqrls_(double *x, int *n, int *p, double *y, int *ny, double *tol, double *b, double *rsd, double *qty, int *k, int *jpvt, double *qraux, double *work); + +void call_misc_dqrls(double *x, int n, int p, double *y, int ny, double tol, double *b, double *rsd, double *qty, int *k, int *jpvt, double *qraux, double *work) { + dqrls_(x, &n, &p, y, &ny, &tol, b, rsd, qty, k, jpvt, qraux, work); +}