#' \itemize{
#' \item data.frame: each line contains its ID in the first cell, and all values after
#' \item connection: any R connection object (e.g. a file) providing lines as described above
-#' \item function: a custom way to retrieve the curves; it has two arguments: the start index
-#' (start) and number of curves (n); see example in package vignette.
+#' \item function: a custom way to retrieve the curves; it has two arguments: the ranks to be
+#' retrieved, and the IDs - at least one of them must be present (priority: ranks).
#' }
#' @param K1 Number of super-consumers to be found after stage 1 (K1 << N)
#' @param K2 Number of clusters to be found after stage 2 (K2 << K1)
}
K1 = toInteger(K1, function(x) x>=2)
K2 = toInteger(K2, function(x) x>=2)
- ntasks = toInteger(ntasks)
+ ntasks = toInteger(ntasks, function(x) x>=1)
nb_series_per_chunk = toInteger(nb_series_per_chunk, function(x) x>=K1)
min_series_per_chunk = toInteger(K1, function(x) x>=K1 && x<=nb_series_per_chunk)
ncores_tasks = toInteger(ncores_tasks, function(x) x>=1)
coeffs_chunk = computeCoeffs(data, index, nb_series_per_chunk, wf)
if (is.null(coeffs_chunk))
break
- serialized_coeffs = serialize(coeffs_chunk)
- appendBinary(coeffs_file, serialized_coeffs)
+ serialize(coeffs_chunk, coeffs_file, append=TRUE)
index = index + nb_series_per_chunk
nb_curves = nb_curves + nrow(coeffs_chunk)
if (is.na(nb_coeffs))
x
}
-#TODO: merge these 2 next ?!
-serialize = function(coeffs)
+serialize = function(coeffs, file, append)
{
#.........
#C function (from data.frame, type of IDs ??! force integers ? [yes])
#return raw vector
-}
-appendBinary = function(.......)
-{
#take raw vector, append it (binary mode) to a file
#TODO: appendCoeffs() en C --> serialize et append to file
}
-#finalizeSerialization = function(...)
-#{
-# #write number of series, and length of each...
-#}
-
-deserialize = function(coeffs, range)
+deserialize = function(file, range, serie_length)
{
#......
#C function (from file name)