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

181

Last 30 days

18522nd

181

Last 90 days

181

Last year

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 (16 non-OK)
OK 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

*


            
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, 20)
  > b <- as.matrix(B)
  > stopifnot(typeof(b) == "integer")
  > 
  > # 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: 0x15aa14f40>,  : 
    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, 20)
  > b <- as.matrix(B)
  > stopifnot(typeof(b) == "integer")
  > 
  > # 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: 0x7f7de2f21f70>,  : 
    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, 0, 1.34, 0, pi, 0, 0, 0, 0, 0))) < 1e-6) )
  > 
  > # int mmatrix ---------------------------
  > B <- mmatrix("int", 10, 20)
  > b <- as.matrix(B)
  > stopifnot(typeof(b) == "integer")
  > 
  > # 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: 0x0000024ee08e7670>,  : 
    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
OK 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

*


            

Check History

ERROR 11 OK · 0 NOTE · 0 WARNING · 3 ERROR · 0 FAILURE Mar 9, 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' [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 --

Dependency Network

Dependencies Reverse dependencies Rcpp houba

Version History

new 0.1.1 Mar 9, 2026