I think the bug is from [1]. This line doesn't make much sense.
Best, KK [1] https://github.com/RcppCore/Rcpp/blob/master/inst/include/Rcpp/sugar/functions/setdiff.h#L80 On Fri, Jan 2, 2015 at 9:22 PM, Kevin Ushey <kevinus...@gmail.com> wrote: > Hi Søren, > > Thanks for the bug report -- it looks like you're right, `setequal` is > broken, and we never knew about it because we don't have any unit > tests for it. Whoops! > > I'll take a look at what's going on and commit a fix + tests soon -- > for now, you can use the workaround with `setdiff` which appears to > behave correctly. > > Cheers, > Kevin > > On Fri, Jan 2, 2015 at 3:13 PM, Søren Højsgaard <sor...@math.aau.dk> > wrote: > > Dear all, > > > > There might be an error in setequal() from sugar. Consider this > > > > #include <Rcpp.h> > > using namespace Rcpp; > > > > //[[Rcpp::export]] > > bool seteq1(CharacterVector x, CharacterVector y){ > > return setequal(x,y); > > } > > > > //[[Rcpp::export]] > > bool seteq2(CharacterVector x, CharacterVector y){ > > return > > (((CharacterVector) setdiff(x,y)).length()==0) & > > (((CharacterVector) setdiff(y,x)).length()==0) ; > > } > > > > The examples below does not give what I expect when calling seteq1 > whereas seteq2 gives what I expect. Am I completely wrong here? > > > > Regards > > Søren > > > > seteq1(c(1,2,3), c(3,2,1)) > > seteq1(c("a","b"), c("a","b")) > > seteq1(c(1,2,3), c(3,2)) > > seteq1(c("a","b"), c("a","b","k")) > > > > seteq2(c(1,2,3), c(3,2,1)) > > seteq2(c("a","b"), c("a","b")) > > seteq2(c(1,2,3), c(3,2)) > > seteq2(c("a","b"), c("a","b","k")) > > > >> seteq1(c(1,2,3), c(3,2,1)) > > [1] FALSE > > > >> seteq1(c("a","b"), c("a","b")) > > [1] FALSE > > > >> seteq1(c(1,2,3), c(3,2)) > > [1] FALSE > > > >> seteq1(c("a","b"), c("a","b","k")) > > [1] FALSE > > > >> seteq2(c(1,2,3), c(3,2,1)) > > [1] TRUE > > > >> seteq2(c("a","b"), c("a","b")) > > [1] TRUE > > > >> seteq2(c(1,2,3), c(3,2)) > > [1] FALSE > > > >> seteq2(c("a","b"), c("a","b","k")) > > [1] FALSE > > > > _______________________________________________ > > Rcpp-devel mailing list > > Rcpp-devel@lists.r-forge.r-project.org > > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel > _______________________________________________ > Rcpp-devel mailing list > Rcpp-devel@lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel > -- Qiang Kou q...@umail.iu.edu School of Informatics and Computing, Indiana University
_______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel