Support single hll input for hyper_carray:union/1
authorChristian Lundgren <christian.lundgren@gameanalytics.com>
Mon, 20 Apr 2015 08:01:11 +0000 (10:01 +0200)
committerChristian Lundgren <christian.lundgren@gameanalytics.com>
Wed, 22 Apr 2015 07:46:46 +0000 (09:46 +0200)
This function still creates a new hll, could be optimized to simply return
it's input.

c_src/hyper_carray.c

index 554badd..b7c76dd 100644 (file)
@@ -133,7 +133,7 @@ static ERL_NIF_TERM set(ErlNifEnv * env, int argc,
 void dtor(ErlNifEnv * env, void *obj);
 
 /*
- * Given a list of at least 2 hyper_carrays [A,B,...], merge into a single new
+ * Given a list of at least 1 hyper_carrays [A,B,...], merge into a single new
  * hyper_carray N. Where the i-ths item N[i] is max(A[i], B[i], ...).
  * A, B, and so on are assumed to be _different_ hyper_carrays.
  */
@@ -148,7 +148,7 @@ static ERL_NIF_TERM max_merge(ErlNifEnv * env, int argc,
            || !enif_get_list_cell(env, argv[0], &head, &tail))
                return enif_make_badarg(env);
 
-       if (narrays < 2)
+       if (narrays < 1)
                return enif_make_badarg(env);
 
        void *tmp = NULL;