瀏覽代碼

Add starpu_data_vmap_filters, same as starpu_data_map_filters, but taking a va_list.

Samuel Thibault 14 年之前
父節點
當前提交
3c4bf1a2a9
共有 2 個文件被更改,包括 11 次插入4 次删除
  1. 3 1
      include/starpu_data_filters.h
  2. 8 3
      src/datawizard/filters.c

+ 3 - 1
include/starpu_data_filters.h

@@ -1,6 +1,6 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
- * Copyright (C) 2010  Université de Bordeaux 1
+ * Copyright (C) 2010-2011  Université de Bordeaux 1
  * Copyright (C) 2010  Mehdi Juhoor <mjuhoor@gmail.com>
  * Copyright (C) 2010  Centre National de la Recherche Scientifique
  *
@@ -48,6 +48,8 @@ starpu_data_handle starpu_data_get_sub_data(starpu_data_handle root_data, unsign
 
 /* struct starpu_data_filter * list */
 void starpu_data_map_filters(starpu_data_handle root_data, unsigned nfilters, ...);
+/* Same, but using va_list */
+void starpu_data_vmap_filters(starpu_data_handle root_data, unsigned nfilters, va_list pa);
 
 /* a few examples of filters */
 

+ 8 - 3
src/datawizard/filters.c

@@ -41,11 +41,9 @@ static void map_filter(starpu_data_handle root_handle, struct starpu_data_filter
 		}
 	}
 }
-void starpu_data_map_filters(starpu_data_handle root_handle, unsigned nfilters, ...)
+void starpu_data_vmap_filters(starpu_data_handle root_handle, unsigned nfilters, va_list pa)
 {
 	unsigned i;
-	va_list pa;
-	va_start(pa, nfilters);
 	for (i = 0; i < nfilters; i++)
 	{
 		struct starpu_data_filter *next_filter;
@@ -55,6 +53,13 @@ void starpu_data_map_filters(starpu_data_handle root_handle, unsigned nfilters,
 
 		map_filter(root_handle, next_filter);
 	}
+}
+
+void starpu_data_map_filters(starpu_data_handle root_handle, unsigned nfilters, ...)
+{
+	va_list pa;
+	va_start(pa, nfilters);
+	starpu_data_vmap_filters(root_handle, nfilters, pa);
 	va_end(pa);
 }