rcpp-gallery
rcpp-gallery copied to clipboard
sorting article has a failing stopifnot expression
@rbresearch I just made a change to the Gallery which causes articles to fail if they stop with an error. After doing this I noticed that the following expression from your sorting article was failing it's test
# check that the nth sorted elements of the vectors are equal
stopifnot(all.equal(stl_nth_element(x, 43)[43], sort(x, partial=43)[43]))
I temporarily removed the code so that the Gallery would build: https://github.com/jjallaire/rcpp-gallery/commit/f3de01337dd59f1ccbe3dec53ccbdaf28aa5fcd2
However it seems worth pursuing why the test is failing (it may have never worked in the first place but the error was just printed and we never noticed it).
JJ,
Thanks for the note, I'll look into it and figure out why it is failing.
Thanks, Ross
On Tue, Feb 3, 2015 at 4:49 PM, JJ Allaire [email protected] wrote:
@rbresearch https://github.com/rbresearch I just made a change to the Gallery which causes articles to fail if they stop with an error. After doing this I noticed that the following expression from your sorting article https://github.com/jjallaire/rcpp-gallery/blob/gh-pages/src/2013-01-31-sorting.cpp was failing it's test
check that the nth sorted elements of the vectors are equal
stopifnot(all.equal(stl_nth_element(x, 43)[43], sort(x, partial=43)[43]))
I temporarily removed the code so that the Gallery would build: f3de013 https://github.com/jjallaire/rcpp-gallery/commit/f3de01337dd59f1ccbe3dec53ccbdaf28aa5fcd2
However it seems worth pursuing why the test is failing (it may have never worked in the first place but the error was just printed and we never noticed it).
— Reply to this email directly or view it on GitHub https://github.com/jjallaire/rcpp-gallery/issues/65.
Pinging @rbresearch
Ross, any news on this?
Hi Dirk,
Sorry for the late response. I was stumped by this at first, but now I think I have it figured out. The first time I ran the file with the following line, it ran fine. I ran it a second time and then it failed. I tried several different values of n and some worked while others did not. I do not completely understand why it worked some of the time.
check that the nth sorted elements of the vectors are equal
stopifnot(all.equal(stl_nth_element(x, 43)[43], sort(x, partial=43)[43]))
There appears to be a bug in the stl_nth_element function and I made a rookie mistake of not accounting for the 0-based indexing in C++. I tested the fix for the vector x of different lengths and for all values of n and the test passed for each case. I will submit a pull request shortly.
Ross
On Sun, Mar 22, 2015 at 1:27 PM, Dirk Eddelbuettel <[email protected]
wrote:
Pinging @rbresearch https://github.com/rbresearch
Ross, any news on this?
— Reply to this email directly or view it on GitHub https://github.com/jjallaire/rcpp-gallery/issues/65#issuecomment-84670519 .
Thank you! I was out traveling but will take a look.