+#' @rdname de_serialize
+#' @export
+binarizeTransform = function(getData, transform, data_bin_file, nb_per_chunk,
+ nbytes=4, endian=.Platform$endian)
+{
+ nb_items = 0 #side-effect: store the number of transformed items
+ index = 1
+ repeat
+ {
+ # Retrieve a chunk of data in a binary file (generally obtained by binarize())
+ data_chunk = getData((index-1)+seq_len(nb_per_chunk))
+ if (is.null(data_chunk))
+ break
+
+ # Apply transformation on the current chunk (by columns)
+ transformed_chunk = transform(data_chunk)
+
+ # Save the result in binary format
+ binarize(transformed_chunk, data_bin_file, nb_per_chunk, ",", nbytes, endian)
+
+ index = index + nb_per_chunk
+ nb_items = nb_items + nrow(data_chunk)
+ }
+ nb_items #number of transformed items
+}
+