The following code will segfault.
require(data.table) # 1.12.2
x <- data.table(
id = "a",
t = as.ITime(c(31140L, 31920L, 31860L, 31680L, 31200L, 31380L, 31020L, 31260L, 31320L, 31560L, 31080L, 31800L, 31500L, 31440L, 31740L, 31620L)),
s = c(37.19, 37.10, 37.10, 37.10, 37.1, 24.81, 61.99, 37.1, 37.1, 37.38, 49.56, 73.89, 37.38, 24.81, 37.01, 37.38),
val = c(40L, 53L, 52L, 49L, 41L, 44L, 38L, 42L, 43L, 47L, 39L, 51L, 46L, 45L, 50L, 48L)
)
y <- data.table(
id = c("a", "b"),
t1 = as.ITime(c(31020L, 42240L)),
t2 = as.ITime(c(31920L, 43140L)),
s1 = c(0L, 0L),
s2 = c(200, 200)
)
x[y, on=.(id, s >= s1, s <= s2, t >= t1, t <= t2), .(val), by=.EACHI, nomatch=0L, allow.cartesian=TRUE]
I've tested with
1.12.2, but looking at the code, I am quite sure this will break even with the current latest commit. I already fixed it. I'll be pushing the commit(s) directly later today.The following code will segfault.