Skip to content

houba

Manipulation of (Large) Memory-Mapped Objects (Vectors, Matrices and Arrays)

v0.1.1 · Feb 20, 2026 · CeCILL-2

Description

Manipulate data through memory-mapped files, as vectors, matrices or arrays. Basic arithmetic functions are implemented, but currently no matrix arithmetic. Can write and read descriptor files for compatibility with the 'bigmemory' package.

Downloads

211

Last 30 days

21631st

487

Last 90 days

871

Last year

Trend: +15.9% (30d vs prior 30d)

CRAN Check Status

3 ERROR
11 OK
Show all 14 flavors
Flavor Status
r-devel-linux-x86_64-debian-clang OK
r-devel-linux-x86_64-debian-gcc OK
r-devel-linux-x86_64-fedora-clang OK
r-devel-linux-x86_64-fedora-gcc OK
r-devel-macos-arm64 OK
r-devel-windows-x86_64 OK
r-oldrel-macos-arm64 ERROR
r-oldrel-macos-x86_64 ERROR
r-oldrel-windows-x86_64 ERROR
r-patched-linux-x86_64 OK
r-release-linux-x86_64 OK
r-release-macos-arm64 OK
r-release-macos-x86_64 OK
r-release-windows-x86_64 OK
Check details (5 non-OK)
NOTE r-oldrel-macos-arm64

installed package size

installed size is  5.8Mb
  sub-directories of 1Mb or more:
    libs   5.2Mb
ERROR r-oldrel-macos-arm64

tests

Running ‘apply.r’ [0s/0s]
  Running ‘arithmetic.r’ [0s/0s]
  Running ‘as-array.r’ [0s/0s]
  Running ‘colSums.r’ [0s/0s]
  Running ‘copy.r’ [0s/0s]
  Running ‘create.r’ [0s/0s]
Running the tests in ‘tests/create.r’ failed.
Complete output:
  > # Various tests about object creation and manipulation
  > require(houba)
  Loading required package: houba
  > 
  > # float mmatrix ------------------------
  > A <- mmatrix("float", 10, 20)
  > a <- as.matrix(A)
  > stopifnot(typeof(a) == "double")
  > 
  > # set max size
  > houba(max.size = 10)
  $max.size
  [1] 10
  
  > stopifnot( typeof(A[1:10]) == "double" )
  > stopifnot( typeof(A[1:11]) == "S4" )
  > 
  > # assignement and subsetting
  > A[1,1] <- 12
  > A[3,] <- 1.34
  > stopifnot( all(abs(as.matrix(A[1:3, 1:2] - c(12, 0, 1.34, 0, 0, 1.34))) < 1e-6)  )
  > 
  > A[5] <- pi
  > stopifnot( all(abs(as.vector(A[,1] - c(12, 0, 1.34, 0, pi, 0, 0, 0, 0, 0))) < 1e-6) )
  > 
  > # int mmatrix ---------------------------
  > B <- mmatrix("int", 10
...[truncated]...
teger")
  > 
  > # assignement and subsetting
  > B[1,1] <- 12
  > B[3,] <- 1.34
  > stopifnot( all(as.matrix(B[1:3, 1:2]) == c(12L, 0L, 1L, 0L, 0L, 1L)) )
  > 
  > B[5] <- 2
  > stopifnot( all(as.vector(B[5, 1:3]) == c(2L, 0L, 0L)) )
  > 
  > # assignement with other mmatrix values
  > houba(max.size = 0) # force non conversion to R 
  $max.size
  [1] 0
  
  > B[2,] <- A[3,]
  > stopifnot( all(as.vector(B[2, 1:4]) == c(1L, 1L, 1L, 1L)) )
  > 
  > B[5] <- A[3]
  > stopifnot( all(as.vector(B[5, 1:3]) == c(1L, 0L, 0L)) )
  > 
  > # double mvector -------------------------
  > V <- mvector("double", 10)
  > v <- as.vector(V)
  > V[1:4] <- pi
  > stopifnot( all(as.vector(V[3:6]) == c(pi, pi, 0, 0)) ) 
  > 
  > # int array --------------------------
  > C <- marray("int", 2:4)
  > C[,,1] <- 7
  > C[,2,] <- B[5]
  Error in `[<-`(`*tmp*`, , 2, , value = new("mvector", ptr = <pointer: 0x117614f40>,  : 
    argument is missing, with no default
  Calls: [<- -> [<- -> myMissing
  Execution halted
NOTE r-oldrel-macos-x86_64

installed package size

installed size is  5.8Mb
  sub-directories of 1Mb or more:
    libs   5.1Mb
ERROR r-oldrel-macos-x86_64

tests

Running ‘apply.r’ [0s/1s]
  Running ‘arithmetic.r’ [1s/1s]
  Running ‘as-array.r’ [0s/1s]
  Running ‘colSums.r’ [0s/1s]
  Running ‘copy.r’ [0s/1s]
  Running ‘create.r’ [0s/1s]
Running the tests in ‘tests/create.r’ failed.
Complete output:
  > # Various tests about object creation and manipulation
  > require(houba)
  Loading required package: houba
  > 
  > # float mmatrix ------------------------
  > A <- mmatrix("float", 10, 20)
  > a <- as.matrix(A)
  > stopifnot(typeof(a) == "double")
  > 
  > # set max size
  > houba(max.size = 10)
  $max.size
  [1] 10
  
  > stopifnot( typeof(A[1:10]) == "double" )
  > stopifnot( typeof(A[1:11]) == "S4" )
  > 
  > # assignement and subsetting
  > A[1,1] <- 12
  > A[3,] <- 1.34
  > stopifnot( all(abs(as.matrix(A[1:3, 1:2] - c(12, 0, 1.34, 0, 0, 1.34))) < 1e-6)  )
  > 
  > A[5] <- pi
  > stopifnot( all(abs(as.vector(A[,1] - c(12, 0, 1.34, 0, pi, 0, 0, 0, 0, 0))) < 1e-6) )
  > 
  > # int mmatrix ---------------------------
  > B <- mmatrix("int", 10
...[truncated]...
er")
  > 
  > # assignement and subsetting
  > B[1,1] <- 12
  > B[3,] <- 1.34
  > stopifnot( all(as.matrix(B[1:3, 1:2]) == c(12L, 0L, 1L, 0L, 0L, 1L)) )
  > 
  > B[5] <- 2
  > stopifnot( all(as.vector(B[5, 1:3]) == c(2L, 0L, 0L)) )
  > 
  > # assignement with other mmatrix values
  > houba(max.size = 0) # force non conversion to R 
  $max.size
  [1] 0
  
  > B[2,] <- A[3,]
  > stopifnot( all(as.vector(B[2, 1:4]) == c(1L, 1L, 1L, 1L)) )
  > 
  > B[5] <- A[3]
  > stopifnot( all(as.vector(B[5, 1:3]) == c(1L, 0L, 0L)) )
  > 
  > # double mvector -------------------------
  > V <- mvector("double", 10)
  > v <- as.vector(V)
  > V[1:4] <- pi
  > stopifnot( all(as.vector(V[3:6]) == c(pi, pi, 0, 0)) ) 
  > 
  > # int array --------------------------
  > C <- marray("int", 2:4)
  > C[,,1] <- 7
  > C[,2,] <- B[5]
  Error in `[<-`(`*tmp*`, , 2, , value = new("mvector", ptr = <pointer: 0x7fba8892a030>,  : 
    argument is missing, with no default
  Calls: [<- -> [<- -> myMissing
  Execution halted
ERROR r-oldrel-windows-x86_64

tests

Running 'apply.r' [1s]
  Running 'arithmetic.r' [1s]
  Running 'as-array.r' [1s]
  Running 'colSums.r' [1s]
  Running 'copy.r' [1s]
  Running 'create.r' [1s]
  Running 'dim.r' [1s]
  Running 'extract-replace.r' [1s]
  Running 'inplace.r' [1s]
  Running 'marray.r' [1s]
  Running 'restore.r' [1s]
Running the tests in 'tests/create.r' failed.
Complete output:
  > # Various tests about object creation and manipulation
  > require(houba)
  Loading required package: houba
  > 
  > # float mmatrix ------------------------
  > A <- mmatrix("float", 10, 20)
  > a <- as.matrix(A)
  > stopifnot(typeof(a) == "double")
  > 
  > # set max size
  > houba(max.size = 10)
  $max.size
  [1] 10
  
  > stopifnot( typeof(A[1:10]) == "double" )
  > stopifnot( typeof(A[1:11]) == "S4" )
  > 
  > # assignement and subsetting
  > A[1,1] <- 12
  > A[3,] <- 1.34
  > stopifnot( all(abs(as.matrix(A[1:3, 1:2] - c(12, 0, 1.34, 0, 0, 1.34))) < 1e-6)  )
  > 
  > A[5] <- pi
  > stopifnot( all(abs(as.vector(A[,1] - c(12, 
...[truncated]...
0L, 0L)) )
  > 
  > # double mvector -------------------------
  > V <- mvector("double", 10)
  > v <- as.vector(V)
  > V[1:4] <- pi
  > stopifnot( all(as.vector(V[3:6]) == c(pi, pi, 0, 0)) ) 
  > 
  > # int array --------------------------
  > C <- marray("int", 2:4)
  > C[,,1] <- 7
  > C[,2,] <- B[5]
  Error in `[<-`(`*tmp*`, , 2, , value = new("mvector", ptr = <pointer: 0x0000022809acb140>,  : 
    argument is missing, with no default
  Calls: [<- -> [<- -> myMissing
  Execution halted
Running the tests in 'tests/marray.r' failed.
Complete output:
  > require(houba)
  Loading required package: houba
  > 
  > a <- mvector("int", 2)
  > a[2] <- 1
  > stopifnot( a[2] == 1 )
  > 
  > a <- mmatrix("float", 6, 3)
  > a[] <- 1:18
  > stopifnot( all(a[1,] == c(1, 7, 13)) )
  > 
  > a <- marray("double", 2:4)
  > a[] <- 1:24
  > stopifnot( all(a[2,1,] == c(2, 8, 14, 20)) )
  Error in a[2, 1, ] : argument is missing, with no default
  Calls: stopifnot -> [ -> [ -> myMissing
  Execution halted

Check History

ERROR 11 OK · 0 NOTE · 0 WARNING · 3 ERROR · 0 FAILURE Mar 10, 2026
ERROR r-oldrel-macos-arm64

installed package size

installed size is  5.8Mb
  sub-directories of 1Mb or more:
    libs   5.2Mb
ERROR r-oldrel-macos-x86_64

installed package size

installed size is  5.8Mb
  sub-directories of 1Mb or more:
    libs   5.1Mb
ERROR r-oldrel-windows-x86_64

tests

Running 'apply.r' [1s]
  Running 'arithmetic.r' [2s]
  Running 'as-array.r' [1s]
  Running 'colSums.r' [1s]
  Running 'copy.r' [1s]
  Running 'create.r' [1s]
  Running 'dim.r' [1s]
  Running 'extract-replace.r' [1s]
  Running 'inplace.r' [1s]
  Runni
...[truncated]...
 all(a[1,] == c(1, 7, 13)) )
  > 
  > a <- marray("double", 2:4)
  > a[] <- 1:24
  > stopifnot( all(a[2,1,] == c(2, 8, 14, 20)) )
  Error in a[2, 1, ] : argument is missing, with no default
  Calls: stopifnot -> [ -> [ -> myMissing
  Execution halted

Dependency Network

Dependencies Reverse dependencies Rcpp houba

Version History

new 0.1.1 Mar 10, 2026
updated 0.1.1 ← 0.1.0 diff Feb 19, 2026
new 0.1.0 Sep 29, 2025