From c33af7e44b802c182ea92c79b56a72cae3007301 Mon Sep 17 00:00:00 2001
From: Benjamin Auder <benjamin.auder@somewhere>
Date: Fri, 3 Mar 2017 12:31:15 +0100
Subject: [PATCH] 'update'

---
 epclust/R/main.R  |  9 ++++-----
 epclust/R/utils.R | 13 ++-----------
 2 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/epclust/R/main.R b/epclust/R/main.R
index f45c945..4159941 100644
--- a/epclust/R/main.R
+++ b/epclust/R/main.R
@@ -7,8 +7,8 @@
 #' \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)
@@ -58,7 +58,7 @@ epclust = function(data, K1, K2, ntasks=1, nb_series_per_chunk=50*K1, min_series
 	}
 	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)
@@ -76,8 +76,7 @@ epclust = function(data, K1, K2, ntasks=1, nb_series_per_chunk=50*K1, min_series
 		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))
diff --git a/epclust/R/utils.R b/epclust/R/utils.R
index 6dcc2cd..5c09b56 100644
--- a/epclust/R/utils.R
+++ b/epclust/R/utils.R
@@ -10,25 +10,16 @@ toInteger <- function(x, condition)
 	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)
-- 
2.44.0