rcpp-gallery icon indicating copy to clipboard operation
rcpp-gallery copied to clipboard

sorting article has a failing stopifnot expression

Open jjallaire opened this issue 10 years ago • 4 comments
trafficstars

@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).

jjallaire avatar Feb 03 '15 22:02 jjallaire

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.

rbresearch avatar Feb 04 '15 11:02 rbresearch

Pinging @rbresearch

Ross, any news on this?

eddelbuettel avatar Mar 22 '15 18:03 eddelbuettel

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 .

rbresearch avatar Mar 29 '15 19:03 rbresearch

Thank you! I was out traveling but will take a look.

eddelbuettel avatar Mar 30 '15 03:03 eddelbuettel