[gegl] add test cases for linear buffer copying
- From: Simon Budig <simon src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] add test cases for linear buffer copying
- Date: Mon, 21 May 2012 16:27:15 +0000 (UTC)
commit fb0b28d6d04e3c5c55e3ad803bfa84eb2130adce
Author: Simon Budig <simon budig de>
Date: Mon May 21 18:10:42 2012 +0200
add test cases for linear buffer copying
.../reference/test_gegl_buffer_linear_copy.buf | 23 ++++++++++
.../reference/test_gegl_buffer_linear_iter.buf | 23 ++++++++++
tests/buffer/tests/test_gegl_buffer_linear_copy.c | 28 ++++++++++++
tests/buffer/tests/test_gegl_buffer_linear_iter.c | 44 ++++++++++++++++++++
4 files changed, 118 insertions(+), 0 deletions(-)
---
diff --git a/tests/buffer/reference/test_gegl_buffer_linear_copy.buf b/tests/buffer/reference/test_gegl_buffer_linear_copy.buf
new file mode 100644
index 0000000..7c026c1
--- /dev/null
+++ b/tests/buffer/reference/test_gegl_buffer_linear_copy.buf
@@ -0,0 +1,23 @@
+Test: test_gegl_buffer_linear_copy
+ââââââââââââââââââââââ
+â â
+â ââââââââââ â
+â ââââââââââ â
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
diff --git a/tests/buffer/reference/test_gegl_buffer_linear_iter.buf b/tests/buffer/reference/test_gegl_buffer_linear_iter.buf
new file mode 100644
index 0000000..ef51d5d
--- /dev/null
+++ b/tests/buffer/reference/test_gegl_buffer_linear_iter.buf
@@ -0,0 +1,23 @@
+Test: test_gegl_buffer_linear_iter
+ââââââââââââââââââââââ
+â â
+â ââââââââââ â
+â ââââââââââ â
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
diff --git a/tests/buffer/tests/test_gegl_buffer_linear_copy.c b/tests/buffer/tests/test_gegl_buffer_linear_copy.c
new file mode 100644
index 0000000..d86c7cd
--- /dev/null
+++ b/tests/buffer/tests/test_gegl_buffer_linear_copy.c
@@ -0,0 +1,28 @@
+TEST ()
+{
+ GeglBuffer *buffer, *buffer2;
+ gchar *buf1, *buf2;
+ GeglRectangle bound = {2, 2, 20, 20};
+ GeglRectangle source = {5, 3, 10, 10};
+
+ test_start ();
+
+ buf1 = g_malloc0 (bound.width * bound.height * sizeof (float));
+ buf2 = g_malloc0 (source.width * source.height * sizeof (float));
+
+ buffer = gegl_buffer_linear_new_from_data (buf1, babl_format ("Y float"),
+ &bound, GEGL_AUTO_ROWSTRIDE,
+ NULL, NULL);
+ buffer2 = gegl_buffer_linear_new_from_data (buf2, babl_format ("Y float"),
+ &source, GEGL_AUTO_ROWSTRIDE,
+ NULL, NULL);
+
+ vgrad (buffer);
+ fill (buffer2, 1.0);
+
+ gegl_buffer_copy (buffer2, &source, buffer, &source);
+ print_buffer (buffer);
+ g_object_unref (buffer);
+ g_object_unref (buffer);
+ test_end ();
+}
diff --git a/tests/buffer/tests/test_gegl_buffer_linear_iter.c b/tests/buffer/tests/test_gegl_buffer_linear_iter.c
new file mode 100644
index 0000000..f3ca3f3
--- /dev/null
+++ b/tests/buffer/tests/test_gegl_buffer_linear_iter.c
@@ -0,0 +1,44 @@
+TEST ()
+{
+ GeglBuffer *buffer, *buffer2;
+ gchar *buf1, *buf2;
+ GeglRectangle bound = {2, 2, 20, 20};
+ GeglRectangle source = {5, 3, 10, 10};
+ GeglBufferIterator *iter;
+
+ test_start ();
+
+ buf1 = g_malloc0 (bound.width * bound.height * sizeof (float));
+ buf2 = g_malloc0 (source.width * source.height * sizeof (float));
+
+ buffer = gegl_buffer_linear_new_from_data (buf1, babl_format ("Y float"),
+ &bound, GEGL_AUTO_ROWSTRIDE,
+ NULL, NULL);
+ buffer2 = gegl_buffer_linear_new_from_data (buf2, babl_format ("Y float"),
+ &source, GEGL_AUTO_ROWSTRIDE,
+ NULL, NULL);
+
+ vgrad (buffer);
+ fill (buffer2, 1.0);
+
+ iter = gegl_buffer_iterator_new (buffer2, &source, 0, NULL,
+ GEGL_BUFFER_READ, GEGL_ABYSS_NONE);
+
+ gegl_buffer_iterator_add (iter, buffer, &source, 0, NULL,
+ GEGL_BUFFER_WRITE, GEGL_ABYSS_NONE);
+
+ while (gegl_buffer_iterator_next (iter))
+ {
+ gfloat *s = iter->data[0];
+ gfloat *d = iter->data[1];
+ gint length = iter->length;
+
+ while (length--)
+ *d = *s;
+ }
+
+ print_buffer (buffer);
+ g_object_unref (buffer);
+ g_object_unref (buffer);
+ test_end ();
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]