You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Dragoș Moldovan-Grünfeld (Jira)" <ji...@apache.org> on 2021/10/12 14:59:00 UTC

[jira] [Created] (ARROW-14297) [R] smooth out integer division to better match R

Dragoș Moldovan-Grünfeld created ARROW-14297:
------------------------------------------------

             Summary: [R] smooth out integer division to better match R
                 Key: ARROW-14297
                 URL: https://issues.apache.org/jira/browse/ARROW-14297
             Project: Apache Arrow
          Issue Type: Improvement
          Components: R
            Reporter: Dragoș Moldovan-Grünfeld
             Fix For: 7.0.0


Behaviour of integer division from Arrow differs from R. 

{code}
library(arrow)

a <- c(1:4, NA_integer_)
a_arrow <- Array$create(a)

expect_equal(a %/% 2, Array$create(c(0L, 1L, 1L, 2L, NA_integer_)))

expect_identical(as.vector(a_arrow %/% 2), a %/% 2)

# this actually works, but on accident as in R the type of the denominator
# is the one that determines the type of the output 
expect_identical(as.vector(a_arrow %/% 2L), a %/% 2L)

expect_identical(as.vector(a_arrow %/% 0), a %/% 0)

expect_identical(as.vector(a_arrow %/% 0L), a %/% 0L)

b <- -a
b_arrow <- Array$create(b)
expect_identical(as.vector(b_arrow %/% 2), b %/% 2)
expect_identical(as.vector(b_arrow %/% .2), b %/% .2)
{code}


expect_dplyr_equal() uses expect_equal() which does not enforce type 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)