Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

README.md

RcppArmadilloNLoptExample

I wrote two simple packages trying to access respectively the C and C++ nlopt API. These packages also link to RcppArmadillo and Rcpp since the ultimate goal is to write some C/C++ code using the features of both Rcpp(Armadillo) and nlopt, to eventually interface this code with R.

nloptC

Interface with the C API of nlopt works just fine through the development version of nloptr. It accesses the header of nlopt via the file "nloptrAPI.h". Thus you will need

devtools::install_github("jyypma/nloptr", force = TRUE)

In nloptC/src/nlopt_c.cpp, I export the function test_nlopt_c, based on the example provided in the NLopt's website:

library(nloptC)
test_nlopt_c()
## Error in test_nlopt_c(): function 'nlopt_create' not provided by package 'nloptr'

nloptCpp

Interface with the C++ API of nlopt works independtly of nloptr. You will need nlopt installed. Hopefully, the configure file will check this for you. Only work on Linux for now.

Installation from source on Linux requires libnlopt 2.4-2. On Debian or Ubuntu use libnlopt-dev:

sudo apt-get install libnlopt-dev

On Fedora we need NLopt-devel:

sudo yum install NLopt-devel

The example in now in nloptCpp/src/nlopt_cpp.cpp:

library(nloptCpp)
test_nlopt_cpp()
## $f
## [1] 0.544331
## 
## $x
## [1] 0.3333333 0.2962963

About

Testing linking to nlopt library via nloptr

Resources

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.