[Rcpp-devel] strange bool conversion?
romain at r-enthusiasts.com
romain at r-enthusiasts.com
Mon Dec 13 17:38:04 CET 2010
Hi,
Thanks. This is not a feature.
I think this is about the const keyword and will attempt to fix it later.
Romain
Le 13 déc. 2010 à 05:30 PM, Daniel Sabanés Bové<daniel.sabanesbove at ifspm.uzh.ch> a écrit :
> Hi,
>
> I have just discovered an extremely strange behaviour in conversion of
> an R logical to a C++ bool. Consider the minimal example:
>
> --- snip ---
>
> library(Rcpp)
> library(inline)
>
> ## this compiles and loads fine, but is wrong:
> wrong <- cxxfunction(signature(x="list") , '
> List input(x);
> const bool a = input[0];
> return wrap(a);
> ' , plugin = "Rcpp")
>
> wrong(list(TRUE))
> wrong(list(FALSE))
>
> ## this is correct:
> correct <- cxxfunction(signature(x="list") , '
> List input(x);
> const bool a = as<bool>(input[0]);
> return wrap(a);
> ' , plugin = "Rcpp")
>
> correct(list(TRUE))
> correct(list(FALSE))
>
> --- snap ----
>
> In Rcpp 0.8.9 wrong(list(FALSE)) == TRUE, which is quite surprising to
> the user...
> Sorry if this already a known feature, but then I would be curious if
> this behaviour is really wished?
>
> Thanks in advance,
> best regards
>
> Daniel
> _______________________________________________
> Rcpp-devel mailing list
> Rcpp-devel at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
More information about the Rcpp-devel
mailing list