My Account Log in

1 option

Seamless R and C++ integration with Rcpp Dirk Eddelbuettel

Springer Nature - Springer Mathematics and Statistics (R0) eBooks 2013 English International Available online

View online
Format:
Book
Author/Creator:
Eddelbuettel, Dirk
Series:
Use R! 64
Language:
English
Subjects (All):
Application program interfaces (Computer software).
R (Computer program language).
C++ (Computer program language).
Statistics--Computer programs.
Statistics.
Statistics and Computing/Statistics Programs.
Statistical Theory and Methods.
Probability and Statistics in Computer Science.
APIs (interfaces).
Local Subjects:
Statistics.
Statistics and Computing/Statistics Programs.
Statistical Theory and Methods.
Probability and Statistics in Computer Science.
Physical Description:
1 online resource
Place of Publication:
New York, NY Springer ©2013
Language Note:
English
System Details:
PDF
text file
Summary:
This book provides the first comprehensive introduction to Rcpp, which has become the most widely-used language extension for R, and is deployed by over one-hundred different CRAN and BioConductor packages. Rcpp permits users to pass scalars, vectors, matrices, list or entire R objects back and forth between R and C++ with ease. This brings the depth of the R analysis framework together with the power, speed, and efficiency of C++. -- Edited summary from book
Contents:
Introduction. A Gentle Introduction to Rcpp Tools and Setup Core Data Types. Data Structures: Part One Data Structures: Part Two Advanced Topics. Using Rcpp in Your Package Extending Rcpp Modules Sugar Applications. RInside RcppArmadillo RcppGSL RcppEigen
Appendix. C++ for R Programmers
Machine generated contents note: pt. I Introduction
1. Gentle Introduction to Rcpp
1.1. Background: From R to C++
1.2. First Example
1.2.1. Problem Setting
1.2.2. First R Solution
1.2.3. First C++ Solution
1.2.4. Using Inline
1.2.5. Using Rcpp Attributes
1.2.6. Second R Solution
1.2.7. Second C++ Solution
1.2.8. Third R Solution
1.2.9. Third C++ Solution
1.3. Second Example
1.3.1. Problem Setting
1.3.2. R Solution
1.3.3. C++ Solution
1.3.4. Comparison
1.4. Summary
2. Tools and Setup
2.1. Overall Setup
2.2. Compilers
2.2.1. General Setup
2.2.2. Platform-Specific Notes
2.3. R Application Programming Interface
2.4. First Compilation with Rcpp
2.5. Inline Package
2.5.1. Overview
2.5.2. Using Includes
2.5.3. Using Plugins
2.5.4. Creating Plugins
2.6. Rcpp Attributes
2.7. Exception Handling
pt. II Core Data Types
3. Data Structures: Part One
3.1. RObject Class
3.2. Integer Vector Class
3.2.1. First Example: Returning Perfect Numbers
3.2.2. Second Example: Using Inputs
3.2.3. Third Example: Using Wrong Inputs
3.3. Numeric Vector Class
3.3.1. First Example: Using Two Inputs
3.3.2. Second Example: Introducing clone
3.3.3. Third Example: Matrices
3.4. Other Vector Classes
3.4.1. Logical Vector
3.4.2. Character Vector
3.4.3. Raw Vector
4. Data Structures: Part Two
4.1. Named Class
4.2. List aka Generic Vector Class
4.2.1. List to Retrieve Parameters from R
4.2.2. List to Return Parameters to R
4.3. DataFrame Class
4.4. Function Class
4.4.1. First Example: Using a Supplied Function
4.4.2. Second Example: Accessing an R Function
4.5. Environment Class
4.6. S4 Class
4.7. Reference Classes
4.8. R Mathematics Library Functions
pt. III Advanced Topics
5. Using Rcpp in Your Package
5.1. Introduction
5.2. Using Rcpp. package. skeleton
5.2.1. Overview
5.2.2. R Code
5.2.3. C++ Code
5.2.4. DESCRIPTION
5.2.5. Makevars and Makevars.win
5.2.6. NAMESPACE
5.2.7. Help Files
5.3. Case Study: The wordcloud Package
5.4. Further Examples
6. Extending Rcpp
6.1. Introduction
6.2. Extending Rcpp::wrap
6.2.1. Intrusive Extension
6.2.2. Nonintrusive Extension
6.2.3. Templates and Partial Specialization
6.3. Extending Rcpp::as
6.3.1. Intrusive Extension
6.3.2. Nonintrusive Extension
6.3.3. Templates and Partial Specialization
6.4. Case Study: The RcppBDT Package
6.5. Further Examples
7. Modules
7.1. Motivation
7.1.1. Exposing Functions Using Rcpp
7.1.2. Exposing Classes Using Rcpp
7.2. Rcpp Modules
7.2.1. Exposing C++ Functions Using Rcpp Modules
7.2.2. Exposing C++ Classes Using Rcpp Modules
7.3. Using Modules in Other Packages
7.3.1. Namespace Import/Export
7.3.2. Support for Modules in Skeleton Generator
7.3.3. Module Documentation
7.4. Case Study: The RcppCNPy Package
7.5. Further Examples
8. Sugar
8.1. Motivation
8.2. Operators
8.2.1. Binary Arithmetic Operators
8.2.2. Binary Logical Operators
8.2.3. Unary Operators
8.3. Functions
8.3.1. Functions Producing a Single Logical Result
8.3.2. Functions Producing Sugar Expressions
8.3.3. Mathematical Functions
8.3.4. d/q/p/q Statistical Functions
8.4. Performance
8.5. Implementation
8.5.1. Curiously Recurring Template Pattern
8.5.2. VectorBase Class
8.5.3. Example: sapply
8.6. Case Study: Computing π Using Rcpp sugar
pt. IV Applications
9. RInside
9.1. Motivation
9.2. First Example: Hello, World!
9.3. Second Example: Data Transfer
9.4. Third Example: Evaluating R Expressions
9.5. Fourth Example: Plotting from C++ via R
9.6. Fifth Example: Using RInside Inside MPI
9.7. Other Examples
10. RcppArmadillo
10.1. Overview
10.2. Motivation: FastLm
10.2.1. Implementation
10.2.2. Performance Comparison
10.2.3. Caveat
10.3. Case Study: Kalman Filter Using RcppArmadillo
10.4. RcppArmadillo and Armadillo Differences
11. RcppGSL
11.1. Introduction
11.2. Motivation: FastLm
11.3. Vectors
11.3.1. GSL Vectors
11.3.2. RcppGSL::vector
11.3.3. Mapping
11.3.4. Vector Views
11.4. Matrices
11.4.1. Creating Matrices
11.4.2. Implicit Conversion
11.4.3. Indexing
11.4.4. Methods
11.4.5. Matrix Views
11.5. Using RcppGSL in Your Package
11.5.1. configure Script
11.5.2. src Directory
11.5.3. R Directory
11.6. Using RcppGSL with inline
11.7. Case Study: GSL-Based B-Spline Fit Using RcppGSL
12. RcppEigen
12.1. Introduction
12.2. Eigen classes
12.2.1. Fixed-Size Vectors and Matrices
12.2.2. Dynamic-Size Vectors and Matrices
12.2.3. Arrays for Per-Component Operations
12.2.4. Mapped Vectors and Matrices and Special Matrices
12.3. Case Study: Kalman filter using RcppEigen
12.4. Linear Algebra and Matrix Decompositions
12.4.1. Basic Solvers
12.4.2. Eigenvalues and Eigenvectors
12.4.3. Least-Squares Solvers
12.4.4. Rank-Revealing Decompositions
12.5. Case Study: C++ Factory for Linear Models in RcppEigen
pt. V Appendix
A. C++ for R Programmers
A.1. Compiled Not Interpreted
A.2. Statically Typed
A.3. Better C
A.4. Object-Oriented (But Not Like S3 or S4)
A.5. Generic Programming and the STL
A.6. Template Programming
A.7. Further Reading on C++
Notes:
Includes bibliographical references and indexes
Print version record
Other Format:
Printed edition:
ISBN:
9781461468684
146146868X
OCLC:
848789357
Access Restriction:
Restricted for use by site license

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account