Skip to content

Commit 16fd62b

Browse files
committed
Merge branch 'master' into feature/logical-vector-from-bool
Conflicts: ChangeLog
2 parents 7c0fa56 + 5784940 commit 16fd62b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+680
-242
lines changed

.Rinstignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
inst/doc/Makefile
22
inst/doc/jss.bst
33
inst/doc/RJournal.sty
4+
inst/unitTests/src

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ env:
1111
- R_BUILD_ARGS="--no-build-vignettes --no-manual"
1212
- R_CHECK_ARGS="--no-build-vignettes --no-manual --as-cran"
1313
- RunAllRcppTests="yes"
14+
- CRAN="http://cran.us.r-project.org"
1415

1516
before_install:
1617
- curl -OL http://raw.github.com/craigcitro/r-travis/master/scripts/travis-tool.sh

ChangeLog

Lines changed: 107 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,92 @@
1+
2014-11-19 Dirk Eddelbuettel <edd@debian.org>
2+
3+
* .travis.yml: Temporary stop-gap measure of setting CRAN to something
4+
other than the RStudio CDN which currently has DNS issue
5+
6+
* inst/include/Rcpp/internal/NAComparator.h: Support sorting of complex
7+
numbers, thanks to patch by Yixuan Qiu (in PR #202)
8+
9+
2014-11-08 Kevin Ushey <kevinushey@gmail.com>
10+
11+
* R/Attributes.R: Fix regular expression used to find source files for
12+
compileAttributes
13+
14+
2014-11-02 Dirk Eddelbuettel <edd@debian.org>
15+
16+
* inst/unitTests/RcppTestA: Rename to inst/unitTests/testRcppPackage
17+
* inst/unitTests/testRcppPackage: Updated throughout
18+
19+
* inst/include/Rcpp/Rmath.h: As suggested by Kevin, test for R_VERSION
20+
via #define to conditon on R >= 3.1.2 -- this does not require a hard
21+
constraint in DESCRIPTION yet on newer R will get R::[dpq]nbinom_mu()
22+
23+
2014-11-01 Dirk Eddelbuettel <edd@debian.org>
24+
25+
* src/api.cpp: Do not include execinfo.h on AIX, per r-devel discussion
26+
with Mike Beddo, and http://sf.net/p/predef/wiki/OperatingSystems/
27+
28+
2014-10-29 Dirk Eddelbuettel <edd@debian.org>
29+
30+
* inst/include/Rcpp/Rmath.h: Comment out R::[dpqr]nbinom_mu functions as
31+
not declared by R with Rf_* name-mapping prefixes
32+
33+
2014-10-17 Chenliang Xu <luckyrand@gmail.com>
34+
35+
* R/Attributes: Enable scanning of header files
36+
37+
2014-10-03 JJ Allaire <jj@rstudio.org>
38+
39+
* R/Attributes.R: Only look for plugins in the package's namespace
40+
(rather than entire search path)
41+
42+
2014-10-01 Kevin Ushey <kevinushey@gmail.com>
43+
44+
* inst/include/Rcpp/vector/ListOf.h ListOf<T> inherits relevant proxies
45+
* inst/unitTests/cpp/ListOf.cpp: Idem
46+
* inst/unitTests/runit.ListOf.R: Idem
47+
48+
2014-09-29 Dirk Eddelbuettel <edd@debian.org>
49+
50+
* debian/*: Changes for Debian release of 0.11.3
51+
52+
* inst/NEWS.Rd: Removed a double entry
53+
54+
2014-09-27 Dirk Eddelbuettel <edd@debian.org>
55+
56+
* DESCRIPTION: Release 0.11.3
57+
* inst/NEWS.Rd: Release 0.11.3
58+
* inst/include/Rcpp/config.h: Release 0.11.3
59+
60+
* ChangeLog: Added a few more entries based on commit log
61+
* inst/NEWS.Rd: Idem
62+
63+
2014-09-26 JJ Allaire <jj@rstudio.org>
64+
65+
* DESCRIPTION: Bump version to enable checking for dryRun.
66+
67+
2014-09-23 JJ Allaire <jj@rstudio.org>
68+
69+
* R/Attributes.R: Add dryRun parameter to sourceCpp.
70+
71+
2014-09-21 Dirk Eddelbuettel <edd@debian.org>
72+
73+
* DESCRIPTION: Shorten Description: to single paragraph
74+
75+
2014-09-21 Kevin Ushey <kevinushey@gmail.com>
76+
77+
* inst/unitTests/runit.environments.R: Use 'checkIdentical' as it's a
78+
more appropriate expression of intent
79+
80+
2014-09-15 Dirk Eddelbuettel <edd@debian.org>
81+
82+
* R/Rcpp.package.skeleton.R: Use more neutral default name, email settings
83+
* man/Rcpp.package.skeleton.Rd: Document these
84+
85+
2014-09-14 Dirk Eddelbuettel <edd@debian.org>
86+
87+
* inst/unitTests/testRcppClass/man/Rcpp_class_examples.Rd: Similar
88+
update to yesterday's update for testRcppModule
89+
190
2014-09-14 Kevin Ushey <kevinushey@gmail.com>
291

392
* inst/include/Rcpp/vector/Vector.h: Alternate strategy using SFINAE
@@ -17,6 +106,11 @@
17106

18107
* inst/unitTests/testRcppModule/NAMESPACE: Updated for current Modules use
19108
* inst/unitTests/testRcppModule/R/zzz.R: Updated for current Modules use
109+
* inst/unitTests/testRcppModule/man/Rcpp_modules_examples.Rd: Also added here
110+
111+
2014-09-10 Dirk Eddelbuettel <edd@debian.org>
112+
113+
* R/R/Rcpp.package.skeleton.R: If available, pkgKitten used for skeleton pkg
20114

21115
2014-09-09 Dirk Eddelbuettel <edd@debian.org>
22116

@@ -43,6 +137,10 @@
43137
* R/Attributes.R: Include LinkingTo in DESCRIPTION fields scanned
44138
to confirm that C++ dependencies are referenced by package.
45139

140+
2014-09-01 Yixuan Qiu <yixuan.qiu@cos.name>
141+
142+
* inst/include/Rcpp/vector/Vector.h: fix return value of range eraser
143+
46144
2014-09-01 Kevin Ushey <kevinushey@gmail.com>
47145

48146
* inst/include/Rcpp/vector/ListOf.h: `size()` member function should
@@ -55,7 +153,7 @@
55153
2014-08-30 Dirk Eddelbuettel <edd@debian.org>
56154

57155
* inst/include/Rcpp/vector/Vector.h: Mark two 'from string' ctors as
58-
deprecated following a suggestion by Yixuan Qiu
156+
deprecated following a suggestion by Yixuan Qiu [reversed on 2014-09-02]
59157

60158
2014-08-18 Dirk Eddelbuettel <edd@debian.org>
61159

@@ -74,6 +172,13 @@
74172
* inst/include/Rcpp/proxy/TagProxy.h: Idem
75173
* inst/include/Rcpp/proxy/proxy.h: Idem
76174

175+
2014-08-08 Christian Authmann <authmanc@Mathematik.Uni-Marburg.de>
176+
177+
* inst/unitTests/cpp/InternalFunction.cpp: New unit test support
178+
* inst/unitTests/cpp/InternalFunctionCPP11.cpp: Idem
179+
* inst/unitTests/runit.InternalFunction.R: Idem
180+
* inst/unitTests/runit.InternalFunctionCPP11.R: Idem
181+
77182
2014-08-06 Christian Authmann <authmanc@Mathematik.Uni-Marburg.de>
78183

79184
* inst/include/Rcpp/InternalFunctionWithStdFunction.h: Extend the
@@ -101,7 +206,7 @@
101206
2014-07-29 Dirk Eddelbuettel <edd@debian.org>
102207

103208
* inst/include/Rcpp/vector/proxy.h: Removed operator bool() cast as
104-
discusses by Christian Authmann on rcpp-devel
209+
discussed by Christian Authmann on rcpp-devel
105210

106211
2014-07-28 Dirk Eddelbuettel <edd@debian.org>
107212

DESCRIPTION

Lines changed: 10 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,18 @@
11
Package: Rcpp
22
Title: Seamless R and C++ Integration
3-
Version: 0.11.2.4
4-
Date: 2014-09-10
3+
Version: 0.11.3.1
4+
Date: 2014-10-29
55
Author: Dirk Eddelbuettel, Romain Francois, JJ Allaire, Kevin Ushey,
66
Douglas Bates, and John Chambers
77
Maintainer: Dirk Eddelbuettel <edd@debian.org>
8-
Description: The Rcpp package provides R functions as well as a C++ library
9-
which facilitate the integration of R and C++.
10-
.
11-
R data types (SEXP) are matched to C++ objects in a class hierarchy. All R
12-
types are supported (vectors, functions, environment, etc ...) and each
13-
type is mapped to a dedicated class. For example, numeric vectors are
14-
represented as instances of the Rcpp::NumericVector class, environments are
15-
represented as instances of Rcpp::Environment, functions are represented as
16-
Rcpp::Function, etc ... The "Rcpp-introduction" vignette provides a good
17-
entry point to Rcpp.
18-
.
19-
Conversion from C++ to R and back is driven by the templates Rcpp::wrap
20-
and Rcpp::as which are highly flexible and extensible, as documented
21-
in the "Rcpp-extending" vignette.
22-
.
23-
Rcpp also provides Rcpp modules, a framework that allows exposing
24-
C++ functions and classes to the R level. The "Rcpp-modules" vignette
25-
details the current set of features of Rcpp-modules.
26-
.
27-
Rcpp includes a concept called Rcpp sugar that brings many R functions
28-
into C++. Sugar takes advantage of lazy evaluation and expression templates
29-
to achieve great performance while exposing a syntax that is much nicer
30-
to use than the equivalent low-level loop code. The "Rcpp-sugar" vignette
31-
gives an overview of the feature.
32-
.
33-
Rcpp attributes provide a high-level syntax for declaring C++
34-
functions as callable from R and automatically generating the code
35-
required to invoke them. Attributes are intended to facilitate both
36-
interactive use of C++ within R sessions as well as to support R
37-
package development. Attributes are built on top of Rcpp modules and
38-
their implementation is based on previous work in the inline package.
39-
.
40-
Many examples are included, and around 900 unit tests in 446 unit
41-
test functions provide additional usage examples.
42-
.
43-
An earlier version of Rcpp, containing what we now call the 'classic Rcpp
44-
API' was written during 2005 and 2006 by Dominick Samperi. This code has
45-
been factored out of Rcpp into the package RcppClassic, and it is still
46-
available for code relying on the older interface. New development should
47-
always use this Rcpp package instead.
48-
.
49-
Additional documentation is available via the paper by Eddelbuettel and
50-
Francois (2011, JSS) paper and the book by Eddelbuettel (2013, Springer);
51-
see 'citation("Rcpp")' for details.
8+
Description: The Rcpp package provides R functions as well as C++ classes which
9+
offer a seamless integration of R and C++. Many R data types and objects can be
10+
mapped back and forth to C++ equivalents which facilitates both writing of new
11+
code as well as easier integration of third-party libraries. Documentation
12+
about Rcpp is provided by several vignettes included in this package, via the
13+
Rcpp Gallery site at http://gallery.rcpp.org, the paper by Eddelbuettel and
14+
Francois (2011, JSS), and the book by Eddelbuettel (2013, Springer); see
15+
'citation("Rcpp")' for details on these last two.
5216
Depends: R (>= 3.0.0)
5317
Imports: methods
5418
Suggests: RUnit, inline, rbenchmark, highlight, pkgKitten (>= 0.1.2)

R/Attributes.R

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ sourceCpp <- function(file = "",
2323
embeddedR = TRUE,
2424
rebuild = FALSE,
2525
showOutput = verbose,
26-
verbose = getOption("verbose")) {
26+
verbose = getOption("verbose"),
27+
dryRun = FALSE) {
2728

2829
# resolve code into a file if necessary. also track the working
2930
# directory to source the R embedded code chunk within
@@ -112,6 +113,7 @@ sourceCpp <- function(file = "",
112113
"CMD SHLIB ",
113114
"-o ", shQuote(context$dynlibFilename), " ",
114115
ifelse(rebuild, "--preclean ", ""),
116+
ifelse(dryRun, "--dry-run ", ""),
115117
shQuote(context$cppSourceFilename), sep="")
116118
if (showOutput)
117119
cat(cmd, "\n")
@@ -152,6 +154,10 @@ sourceCpp <- function(file = "",
152154
"force a rebuild)\n\n", sep="")
153155
}
154156

157+
# return immediately if this was a dry run
158+
if (dryRun)
159+
return(invisible(NULL))
160+
155161
# load the module if we have exported symbols
156162
if (length(context$exportedFunctions) > 0 || length(context$modules) > 0) {
157163

@@ -360,7 +366,7 @@ compileAttributes <- function(pkgdir = ".", verbose = getOption("verbose")) {
360366
dir.create(rDir)
361367

362368
# get a list of all source files
363-
cppFiles <- list.files(srcDir, pattern="\\.c(c|pp)$")
369+
cppFiles <- list.files(srcDir, pattern = "\\.((c(c|pp))|(h(pp)?))$")
364370

365371
# derive base names (will be used for modules)
366372
cppFileBasenames <- tools::file_path_sans_ext(cppFiles)
@@ -519,7 +525,7 @@ sourceCppFunction <- function(func, isVoid, dll, symbol) {
519525

520526
# Get the inline plugin for the specified package (return NULL if none found)
521527
.getInlinePlugin <- function(package) {
522-
tryCatch(get("inlineCxxPlugin", asNamespace(package)),
528+
tryCatch(get("inlineCxxPlugin", asNamespace(package), inherits = FALSE),
523529
error = function(e) NULL)
524530
}
525531

R/Rcpp.package.skeleton.R

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ Rcpp.package.skeleton <- function(name = "anRpackage", list = character(),
2222
path = ".", force = FALSE,
2323
code_files = character(), cpp_files = character(),
2424
example_code = TRUE, attributes = TRUE, module = FALSE,
25-
author = "Who wrote it",
26-
maintainer = if (missing(author)) "Who to complain to"
25+
author = "Your Name",
26+
maintainer = if (missing(author)) "Your Name"
2727
else author,
28-
email = "yourfault@somewhere.net",
28+
email = "your@email.com",
2929
license = "GPL (>= 2)") {
3030

3131
havePkgKitten <- require("pkgKitten", quietly=TRUE, character.only=TRUE)
@@ -209,4 +209,3 @@ Rcpp.package.skeleton <- function(name = "anRpackage", list = character(),
209209

210210
invisible(NULL)
211211
}
212-

debian/changelog

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
rcpp (0.11.3-1) unstable; urgency=low
2+
3+
* New upstream release
4+
5+
* debian/control: New (Build-)Depends: on r-cran-pkgkitten
6+
7+
* debian/control: Set Build-Depends: to current R version
8+
* debian/control: Set Standards-Version: to current version
9+
10+
-- Dirk Eddelbuettel <edd@debian.org> Mon, 29 Sep 2014 19:54:50 -0500
11+
112
rcpp (0.11.2-1) unstable; urgency=low
213

314
* New release

debian/control

Lines changed: 11 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -2,57 +2,21 @@ Source: rcpp
22
Section: gnu-r
33
Priority: optional
44
Maintainer: Dirk Eddelbuettel <edd@debian.org>
5-
Build-Depends: debhelper (>= 7.0.0), r-base-dev (>= 3.1.0), cdbs, r-cran-codetools
6-
Standards-Version: 3.9.5
5+
Build-Depends: debhelper (>= 7.0.0), r-base-dev (>= 3.1.1), cdbs, r-cran-codetools, r-cran-pkgkitten
6+
Standards-Version: 3.9.6
77
Homepage: http://dirk.eddelbuettel.com/code/rcpp.html
88

99
Package: r-cran-rcpp
1010
Architecture: any
11-
Depends: ${shlibs:Depends}, ${misc:Depends}, ${R:Depends}, littler
11+
Depends: ${shlibs:Depends}, ${misc:Depends}, ${R:Depends}, littler, r-cran-pkgkitten
1212
Suggests: r-cran-inline
1313
Description: GNU R package for Seamless R and C++ Integration
14-
The Rcpp package provides a C++ library which facilitates the
15-
integration of R and C++.
16-
.
17-
R data types (SEXP) are matched to C++ objects in a class hierarchy. All R
18-
types are supported (vectors, functions, environment, etc ...) and each
19-
type is mapped to a dedicated class. For example, numeric vectors are
20-
represented as instances of the Rcpp::NumericVector class, environments are
21-
represented as instances of Rcpp::Environment, functions are represented as
22-
Rcpp::Function, etc ... The "Rcpp-introduction" vignette provides a good
23-
entry point to Rcpp.
24-
.
25-
Conversion from C++ to R and back is driven by the templates Rcpp::wrap
26-
and Rcpp::as which are highly flexible and extensible, as documented
27-
in the "Rcpp-extending" vignette.
28-
.
29-
Rcpp also provides Rcpp modules, a framework that allows exposing
30-
C++ functions and classes to the R level. The "Rcpp-modules" vignette
31-
details the current set of features of Rcpp-modules.
32-
.
33-
Rcpp includes a concept called Rcpp sugar that brings many R functions
34-
into C++. Sugar takes advantage of lazy evaluation and expression templates
35-
to achieve great performance while exposing a syntax that is much nicer
36-
to use than the equivalent low-level loop code. The "Rcpp-sugar" vignette
37-
gives an overview of the feature.
38-
.
39-
Rcpp attributes provide a high-level syntax for declaring C++
40-
functions as callable from R and automatically generating the code
41-
required to invoke them. Attributes are intended to facilitate both
42-
interactive use of C++ within R sessions as well as to support R
43-
package development. Attributes are built on top of Rcpp modules and
44-
their implementation is based on previous work in the inline package.
45-
.
46-
Many examples are included, and around 900 unit tests in 446 unit
47-
test functions provide additional usage examples.
48-
.
49-
An earlier version of Rcpp, containing what we now call the 'classic Rcpp
50-
API' was written during 2005 and 2006 by Dominick Samperi. This code has
51-
been factored out of Rcpp into the package RcppClassic and it is still
52-
available for code relying on this interface. New development should use
53-
this package instead.
54-
.
55-
Additional documentation is available via the paper by Eddelbuettel and
56-
Francois (2011, JSS) paper and the book by Eddelbuettel (2013, Springer);
57-
see 'citation("Rcpp")' for details.
14+
The Rcpp package provides R functions as well as C++ classes which
15+
offer a seamless integration of R and C++. Many R data types and objects can be
16+
mapped back and forth to C++ equivalents which facilitates both writing of new
17+
code as well as easier integration of third-party libraries. Documentation
18+
about Rcpp is provided by several vignettes included in this package, via the
19+
Rcpp Gallery site at http://gallery.rcpp.org, the paper by Eddelbuettel and
20+
Francois (2011, JSS), and the book by Eddelbuettel (2013, Springer); see
21+
'citation("Rcpp")' for details on these last two.
5822

debian/r-cran-rcpp.lintian-overrides

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,5 @@ r-cran-rcpp: script-not-executable usr/lib/R/site-library/Rcpp/unitTests/runit.n
7878
r-cran-rcpp: script-not-executable usr/lib/R/site-library/Rcpp/unitTests/runit.subset.R
7979
r-cran-rcpp: script-not-executable usr/lib/R/site-library/Rcpp/unitTests/runit.table.R
8080
r-cran-rcpp: script-not-executable usr/lib/R/site-library/Rcpp/unitTests/runit.attributes.R
81+
r-cran-rcpp: script-not-executable usr/lib/R/site-library/Rcpp/unitTests/runit.InternalFunction.R
82+
r-cran-rcpp: script-not-executable usr/lib/R/site-library/Rcpp/unitTests/runit.InternalFunctionCPP11.R

0 commit comments

Comments
 (0)