- Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
Hi,
I ran into a curious edge case, where summing a ConstantArray with a vector fails if both are zero and then writing it with HDF5Array::writeHDF5Array, but not in any other combination:
mat<-DelayedArray::ConstantArray(c(2, 4), value=0) res<-mat+ rep(0, 2) res#> <2 x 4> sparse DelayedMatrix object of type "double":#> [,1] [,2] [,3] [,4]#> [1,] 0 0 0 0#> [2,] 0 0 0 0HDF5Array::writeHDF5Array(res) #> Error in .Arith_SVT1_v2(.Generic, e1, e2): "+" is not supported between a SparseArray object and a numeric vector#> (result wouldn't be sparse in general)# All other combination seems to workmat<-DelayedArray::ConstantArray(c(2, 4), value=0) res<-mat+ rep(3, 2) HDF5Array::writeHDF5Array(res) #> <2 x 4> HDF5Matrix object of type "double":#> [,1] [,2] [,3] [,4]#> [1,] 3 3 3 3#> [2,] 3 3 3 3mat<-DelayedArray::ConstantArray(c(2, 4), value=17) res<-mat+ rep(0, 2) HDF5Array::writeHDF5Array(res) #> <2 x 4> HDF5Matrix object of type "double":#> [,1] [,2] [,3] [,4]#> [1,] 17 17 17 17#> [2,] 17 17 17 17mat<-DelayedArray::ConstantArray(c(2, 4), value=0) res<-mat+0HDF5Array::writeHDF5Array(res) #> <2 x 4> sparse HDF5Matrix object of type "double":#> [,1] [,2] [,3] [,4]#> [1,] 0 0 0 0#> [2,] 0 0 0 0Created on 2025-03-05 with reprex v2.1.1
I am not actually 100% this is an DelayedArray issue or if it might rather need to be moved to HDF5Array.
Best,
Constantin
Metadata
Metadata
Assignees
Labels
No labels