[Rcpp-devel] sugar: x+y and y+x gives different results when there are NA's in y
Romain Francois
romain at r-enthusiasts.com
Sat Nov 22 14:36:22 CET 2014
You get UB if the first is bigger than the second.
Envoyé de mon iPhone
> Le 22 nov. 2014 à 14:30, Søren Højsgaard <sorenh at math.aau.dk> a écrit :
>
> OK; thanks! Shall I read this such as "the behaviour is undefined"?
> Søren
>
> |-----Original Message-----
> |From: Romain Francois [mailto:romain at r-enthusiasts.com]
> |Sent: 22. november 2014 13:25
> |To: Søren Højsgaard
> |Cc: rcpp-devel at lists.r-forge.r-project.org
> |Subject: Re: [Rcpp-devel] sugar: x+y and y+x gives different results when
> |there are NA's in y
> |
> |This has nothing to do with NA. It's just about the size difference.
> |sugar does not make attempt at recycling. Your responsibility.
> |
> |Romain
> |
> |> Le 22 nov. 2014 à 11:48, Søren Højsgaard <sorenh at math.aau.dk> a écrit :
> |>
> |> Dear all,
> |> Came across this:
> |>
> |> #include <Rcpp.h>
> |> using namespace Rcpp;
> |>
> |> //[[Rcpp::export]]
> |> List sumxy(NumericVector x, NumericVector y){ NumericVector xy =
> |> x+y; NumericVector yx = y+x; return List::create(xy, yx); }
> |>
> |> /*** R
> |> x <- c(1,3,5,7)
> |> y <- c(NA,2,4,6,8)
> |> x+y
> |> y+x
> |> sumxy(x, y)
> |> */
> |>
> |>> x <- c(1,3,5,7)
> |>> y <- c(NA,2,4,6,8)
> |>> x+y
> |> [1] NA 5 9 13 9
> |>> y+x
> |> [1] NA 5 9 13 9
> |>> sumxy(x, y)
> |> [[1]]
> |> [1] NA 5 9 13
> |> [[2]]
> |> [1] NA 5 9 13 8
> |>
> |> Is this intentional? Apologies if this has been documented anywhere;
> |was unable to find it.
> |>
> |> Regards
> |> Søren
> |>
> |>
> |> _______________________________________________
> |> 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-deve
> |> l
>
More information about the Rcpp-devel
mailing list