summaryrefslogtreecommitdiffstats
path: root/systemtest/testdata/unaryfunc
diff options
context:
space:
mode:
authorConstantin Jucovschi <cj@ubuntu.localdomain>2009-04-24 07:20:22 -0400
committerConstantin Jucovschi <cj@ubuntu.localdomain>2009-04-24 07:20:22 -0400
commit8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 (patch)
treebd328a4dd4f92d32202241b5e3a7f36177792c5f /systemtest/testdata/unaryfunc
downloadrasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.tar.gz
rasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.tar.xz
rasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.zip
Initial commitv8.0
Diffstat (limited to 'systemtest/testdata/unaryfunc')
-rw-r--r--systemtest/testdata/unaryfunc/abs_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/abs_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/abs_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/abs_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/abs_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/abs_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/abs_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/abs_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/abs_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/abs_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/abs_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/abs_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/abs_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/abs_5.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/abs_5.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/abs_6.ql2
-rw-r--r--systemtest/testdata/unaryfunc/abs_6.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/abs_6.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/acos_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/acos_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/acos_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/acos_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/acos_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/acos_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/acos_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/acos_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/acos_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/acos_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/acos_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/acos_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/acos_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/acos_5.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/acos_5.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/acos_dom_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/acos_dom_1.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/acos_dom_1.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/acos_dom_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/acos_dom_2.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/acos_dom_2.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/asin_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/asin_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/asin_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/asin_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/asin_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/asin_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/asin_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/asin_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/asin_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/asin_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/asin_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/asin_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/asin_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/asin_5.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/asin_5.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/asin_dom_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/asin_dom_1.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/asin_dom_1.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/asin_dom_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/asin_dom_2.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/asin_dom_2.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/atan_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/atan_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/atan_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/atan_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/atan_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/atan_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/atan_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/atan_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/atan_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/atan_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/atan_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/atan_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/atan_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/atan_5.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/atan_5.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/coll_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_1.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_1.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_10.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_10.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_10.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_11.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_11.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_11.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_2.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_2.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_3.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_3.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_4.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/coll_4.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/coll_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_5.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/coll_5.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/coll_6.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_6.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_6.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_7.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_7.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_7.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_8.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_8.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_8.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_9.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_9.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_9.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/cos_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/cos_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/cos_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/cos_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/cos_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/cos_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/cos_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/cos_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/cos_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/cos_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/cos_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/cos_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/cos_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/cos_5.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/cos_5.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/cos_6.ql2
-rw-r--r--systemtest/testdata/unaryfunc/cos_6.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/cos_6.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/cos_7.ql2
-rw-r--r--systemtest/testdata/unaryfunc/cos_7.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/cos_7.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/exp_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/exp_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/exp_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/exp_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/exp_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/exp_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/exp_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/exp_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/exp_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/exp_erange_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/exp_erange_1.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/exp_erange_1.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/exp_erange_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/exp_erange_2.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/exp_erange_2.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/ln_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/ln_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/ln_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/ln_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/ln_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/ln_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/ln_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/ln_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/ln_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/ln_edom.ql2
-rw-r--r--systemtest/testdata/unaryfunc/ln_edom.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/ln_edom.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/ln_erange.ql2
-rw-r--r--systemtest/testdata/unaryfunc/ln_erange.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/ln_erange.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/log_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/log_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/log_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/log_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/log_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/log_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/log_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/log_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/log_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/log_edom.ql2
-rw-r--r--systemtest/testdata/unaryfunc/log_edom.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/log_edom.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/log_erange.ql2
-rw-r--r--systemtest/testdata/unaryfunc/log_erange.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/log_erange.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/mix_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/mix_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/mix_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/mix_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/mix_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/mix_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/mix_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/mix_3.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/mix_3.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sin_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sin_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sin_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sin_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sin_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sin_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sin_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sin_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sin_5.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_5.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sin_6.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sin_6.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_6.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sin_7.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sin_7.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_7.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_5.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_5.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_6.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_6.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_6.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_7.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_7.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_7.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_edom.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_edom.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_edom.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/tan_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/tan_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/tan_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/tan_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/tan_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/tan_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/tan_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/tan_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/tan_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/tan_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/tan_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/tan_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/tan_edom_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/tan_edom_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/tan_edom_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/tan_edom_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/tan_edom_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/tan_edom_2.ql.out6
246 files changed, 1276 insertions, 0 deletions
diff --git a/systemtest/testdata/unaryfunc/abs_1.ql b/systemtest/testdata/unaryfunc/abs_1.ql
new file mode 100644
index 0000000..e90ab87
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_1.ql
@@ -0,0 +1,2 @@
+
+ select abs(-1) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/abs_1.ql.java.out b/systemtest/testdata/unaryfunc/abs_1.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_1.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/abs_1.ql.out b/systemtest/testdata/unaryfunc/abs_1.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/abs_2.ql b/systemtest/testdata/unaryfunc/abs_2.ql
new file mode 100644
index 0000000..dd63ead
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_2.ql
@@ -0,0 +1,2 @@
+
+ select abs(-3.141592) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/abs_2.ql.java.out b/systemtest/testdata/unaryfunc/abs_2.ql.java.out
new file mode 100644
index 0000000..ac30b53
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_2.ql.java.out
@@ -0,0 +1 @@
+3.1415920257568363.141592025756836 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/abs_2.ql.out b/systemtest/testdata/unaryfunc/abs_2.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/abs_3.ql b/systemtest/testdata/unaryfunc/abs_3.ql
new file mode 100644
index 0000000..35bc3df
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_3.ql
@@ -0,0 +1,2 @@
+
+ select abs(0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/abs_3.ql.java.out b/systemtest/testdata/unaryfunc/abs_3.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_3.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/abs_3.ql.out b/systemtest/testdata/unaryfunc/abs_3.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/abs_4.ql b/systemtest/testdata/unaryfunc/abs_4.ql
new file mode 100644
index 0000000..5563163
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_4.ql
@@ -0,0 +1,2 @@
+
+ select abs(-0.0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/abs_4.ql.java.out b/systemtest/testdata/unaryfunc/abs_4.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_4.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/abs_4.ql.out b/systemtest/testdata/unaryfunc/abs_4.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/abs_5.ql b/systemtest/testdata/unaryfunc/abs_5.ql
new file mode 100644
index 0000000..9d41e43
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_5.ql
@@ -0,0 +1,2 @@
+
+ select abs(1) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/abs_5.ql.java.out b/systemtest/testdata/unaryfunc/abs_5.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_5.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/abs_5.ql.out b/systemtest/testdata/unaryfunc/abs_5.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/abs_6.ql b/systemtest/testdata/unaryfunc/abs_6.ql
new file mode 100644
index 0000000..00bdaa9
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_6.ql
@@ -0,0 +1,2 @@
+
+ select abs(3.141592) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/abs_6.ql.java.out b/systemtest/testdata/unaryfunc/abs_6.ql.java.out
new file mode 100644
index 0000000..ac30b53
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_6.ql.java.out
@@ -0,0 +1 @@
+3.1415920257568363.141592025756836 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/abs_6.ql.out b/systemtest/testdata/unaryfunc/abs_6.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_6.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/acos_1.ql b/systemtest/testdata/unaryfunc/acos_1.ql
new file mode 100644
index 0000000..76b54e7
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_1.ql
@@ -0,0 +1,2 @@
+
+ select arccos(-1) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/acos_1.ql.java.out b/systemtest/testdata/unaryfunc/acos_1.ql.java.out
new file mode 100644
index 0000000..8144360
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_1.ql.java.out
@@ -0,0 +1 @@
+3.1415926535897933.141592653589793 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/acos_1.ql.out b/systemtest/testdata/unaryfunc/acos_1.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/acos_2.ql b/systemtest/testdata/unaryfunc/acos_2.ql
new file mode 100644
index 0000000..c3abe5f
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_2.ql
@@ -0,0 +1,2 @@
+
+ select 2 * arccos(-0) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/acos_2.ql.java.out b/systemtest/testdata/unaryfunc/acos_2.ql.java.out
new file mode 100644
index 0000000..8144360
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_2.ql.java.out
@@ -0,0 +1 @@
+3.1415926535897933.141592653589793 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/acos_2.ql.out b/systemtest/testdata/unaryfunc/acos_2.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/acos_3.ql b/systemtest/testdata/unaryfunc/acos_3.ql
new file mode 100644
index 0000000..78a0d31
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_3.ql
@@ -0,0 +1,2 @@
+
+ select 2*arccos(0) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/acos_3.ql.java.out b/systemtest/testdata/unaryfunc/acos_3.ql.java.out
new file mode 100644
index 0000000..8144360
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_3.ql.java.out
@@ -0,0 +1 @@
+3.1415926535897933.141592653589793 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/acos_3.ql.out b/systemtest/testdata/unaryfunc/acos_3.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/acos_4.ql b/systemtest/testdata/unaryfunc/acos_4.ql
new file mode 100644
index 0000000..fc466df
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_4.ql
@@ -0,0 +1,2 @@
+
+ select 4 * arccos(sqrt(2)/2) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/acos_4.ql.java.out b/systemtest/testdata/unaryfunc/acos_4.ql.java.out
new file mode 100644
index 0000000..8144360
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_4.ql.java.out
@@ -0,0 +1 @@
+3.1415926535897933.141592653589793 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/acos_4.ql.out b/systemtest/testdata/unaryfunc/acos_4.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/acos_5.ql b/systemtest/testdata/unaryfunc/acos_5.ql
new file mode 100644
index 0000000..ee5be77
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_5.ql
@@ -0,0 +1,2 @@
+
+ select arccos(1) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/acos_5.ql.java.out b/systemtest/testdata/unaryfunc/acos_5.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_5.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/acos_5.ql.out b/systemtest/testdata/unaryfunc/acos_5.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/acos_dom_1.ql b/systemtest/testdata/unaryfunc/acos_dom_1.ql
new file mode 100644
index 0000000..f8ba915
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_dom_1.ql
@@ -0,0 +1,2 @@
+
+ select arccos(-3.14) from ImgCharA -- errno 510: EDOM
diff --git a/systemtest/testdata/unaryfunc/acos_dom_1.ql.java.out b/systemtest/testdata/unaryfunc/acos_dom_1.ql.java.out
new file mode 100644
index 0000000..9310cf4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_dom_1.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 510 in line 4, column 9, near token arccos: The argument is outside the function domain. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/acos_dom_1.ql.out b/systemtest/testdata/unaryfunc/acos_dom_1.ql.out
new file mode 100644
index 0000000..0e9ec7e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_dom_1.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=510
diff --git a/systemtest/testdata/unaryfunc/acos_dom_2.ql b/systemtest/testdata/unaryfunc/acos_dom_2.ql
new file mode 100644
index 0000000..14516d0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_dom_2.ql
@@ -0,0 +1,2 @@
+
+ select arccos(1.1) from ImgCharA -- errno 510: EDOM
diff --git a/systemtest/testdata/unaryfunc/acos_dom_2.ql.java.out b/systemtest/testdata/unaryfunc/acos_dom_2.ql.java.out
new file mode 100644
index 0000000..9310cf4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_dom_2.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 510 in line 4, column 9, near token arccos: The argument is outside the function domain. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/acos_dom_2.ql.out b/systemtest/testdata/unaryfunc/acos_dom_2.ql.out
new file mode 100644
index 0000000..0e9ec7e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_dom_2.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=510
diff --git a/systemtest/testdata/unaryfunc/asin_1.ql b/systemtest/testdata/unaryfunc/asin_1.ql
new file mode 100644
index 0000000..3c3d03b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_1.ql
@@ -0,0 +1,2 @@
+
+ select arcsin(-1) from ImgCharA -- -pi/2 (-1.5707...)
diff --git a/systemtest/testdata/unaryfunc/asin_1.ql.java.out b/systemtest/testdata/unaryfunc/asin_1.ql.java.out
new file mode 100644
index 0000000..9217cca
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_1.ql.java.out
@@ -0,0 +1 @@
+-1.5707963267948966-1.5707963267948966 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/asin_1.ql.out b/systemtest/testdata/unaryfunc/asin_1.ql.out
new file mode 100644
index 0000000..8c62930
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -1.5708
+Element 2: -1.5708
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/asin_2.ql b/systemtest/testdata/unaryfunc/asin_2.ql
new file mode 100644
index 0000000..7f7d3a7
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_2.ql
@@ -0,0 +1,2 @@
+
+ select arcsin(-0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/asin_2.ql.java.out b/systemtest/testdata/unaryfunc/asin_2.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_2.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/asin_2.ql.out b/systemtest/testdata/unaryfunc/asin_2.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/asin_3.ql b/systemtest/testdata/unaryfunc/asin_3.ql
new file mode 100644
index 0000000..f6a8e51
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_3.ql
@@ -0,0 +1,2 @@
+
+ select arcsin(0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/asin_3.ql.java.out b/systemtest/testdata/unaryfunc/asin_3.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_3.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/asin_3.ql.out b/systemtest/testdata/unaryfunc/asin_3.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/asin_4.ql b/systemtest/testdata/unaryfunc/asin_4.ql
new file mode 100644
index 0000000..4c760bd
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_4.ql
@@ -0,0 +1,2 @@
+
+ select 4 * arcsin(sqrt(2)/2) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/asin_4.ql.java.out b/systemtest/testdata/unaryfunc/asin_4.ql.java.out
new file mode 100644
index 0000000..45c5e5d
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_4.ql.java.out
@@ -0,0 +1 @@
+3.14159265358979363.1415926535897936 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/asin_4.ql.out b/systemtest/testdata/unaryfunc/asin_4.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/asin_5.ql b/systemtest/testdata/unaryfunc/asin_5.ql
new file mode 100644
index 0000000..8d9e716
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_5.ql
@@ -0,0 +1,2 @@
+
+ select 2 * arcsin(1) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/asin_5.ql.java.out b/systemtest/testdata/unaryfunc/asin_5.ql.java.out
new file mode 100644
index 0000000..8144360
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_5.ql.java.out
@@ -0,0 +1 @@
+3.1415926535897933.141592653589793 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/asin_5.ql.out b/systemtest/testdata/unaryfunc/asin_5.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/asin_dom_1.ql b/systemtest/testdata/unaryfunc/asin_dom_1.ql
new file mode 100644
index 0000000..e22196c
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_dom_1.ql
@@ -0,0 +1,2 @@
+
+ select arcsin(-3.14) from ImgCharA -- errno 510: EDOM
diff --git a/systemtest/testdata/unaryfunc/asin_dom_1.ql.java.out b/systemtest/testdata/unaryfunc/asin_dom_1.ql.java.out
new file mode 100644
index 0000000..9eeb7b5
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_dom_1.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 510 in line 4, column 9, near token arcsin: The argument is outside the function domain. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/asin_dom_1.ql.out b/systemtest/testdata/unaryfunc/asin_dom_1.ql.out
new file mode 100644
index 0000000..0e9ec7e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_dom_1.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=510
diff --git a/systemtest/testdata/unaryfunc/asin_dom_2.ql b/systemtest/testdata/unaryfunc/asin_dom_2.ql
new file mode 100644
index 0000000..32cf104
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_dom_2.ql
@@ -0,0 +1,2 @@
+
+ select arcsin(3) from ImgCharA -- errno 510: EDOM
diff --git a/systemtest/testdata/unaryfunc/asin_dom_2.ql.java.out b/systemtest/testdata/unaryfunc/asin_dom_2.ql.java.out
new file mode 100644
index 0000000..9eeb7b5
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_dom_2.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 510 in line 4, column 9, near token arcsin: The argument is outside the function domain. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/asin_dom_2.ql.out b/systemtest/testdata/unaryfunc/asin_dom_2.ql.out
new file mode 100644
index 0000000..0e9ec7e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_dom_2.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=510
diff --git a/systemtest/testdata/unaryfunc/atan_1.ql b/systemtest/testdata/unaryfunc/atan_1.ql
new file mode 100644
index 0000000..8e8dd8a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_1.ql
@@ -0,0 +1,2 @@
+
+ select 2*arctan(-1000000) from ImgCharA -- -pi
diff --git a/systemtest/testdata/unaryfunc/atan_1.ql.java.out b/systemtest/testdata/unaryfunc/atan_1.ql.java.out
new file mode 100644
index 0000000..e17610a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_1.ql.java.out
@@ -0,0 +1 @@
+-3.1415906535897933-3.1415906535897933 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/atan_1.ql.out b/systemtest/testdata/unaryfunc/atan_1.ql.out
new file mode 100644
index 0000000..d410008
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -3.14159
+Element 2: -3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/atan_2.ql b/systemtest/testdata/unaryfunc/atan_2.ql
new file mode 100644
index 0000000..a4a4e6a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_2.ql
@@ -0,0 +1,2 @@
+
+ select 4*arctan(-1) from ImgCharA -- -pi
diff --git a/systemtest/testdata/unaryfunc/atan_2.ql.java.out b/systemtest/testdata/unaryfunc/atan_2.ql.java.out
new file mode 100644
index 0000000..c7210be
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_2.ql.java.out
@@ -0,0 +1 @@
+-3.141592653589793-3.141592653589793 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/atan_2.ql.out b/systemtest/testdata/unaryfunc/atan_2.ql.out
new file mode 100644
index 0000000..d410008
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -3.14159
+Element 2: -3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/atan_3.ql b/systemtest/testdata/unaryfunc/atan_3.ql
new file mode 100644
index 0000000..7241674
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_3.ql
@@ -0,0 +1,2 @@
+
+ select arctan(0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/atan_3.ql.java.out b/systemtest/testdata/unaryfunc/atan_3.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_3.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/atan_3.ql.out b/systemtest/testdata/unaryfunc/atan_3.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/atan_4.ql b/systemtest/testdata/unaryfunc/atan_4.ql
new file mode 100644
index 0000000..6f93f44
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_4.ql
@@ -0,0 +1,2 @@
+
+ select 4*arctan(1) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/atan_4.ql.java.out b/systemtest/testdata/unaryfunc/atan_4.ql.java.out
new file mode 100644
index 0000000..8144360
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_4.ql.java.out
@@ -0,0 +1 @@
+3.1415926535897933.141592653589793 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/atan_4.ql.out b/systemtest/testdata/unaryfunc/atan_4.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/atan_5.ql b/systemtest/testdata/unaryfunc/atan_5.ql
new file mode 100644
index 0000000..199f553
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_5.ql
@@ -0,0 +1,2 @@
+
+ select 2*arctan(10000000) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/atan_5.ql.java.out b/systemtest/testdata/unaryfunc/atan_5.ql.java.out
new file mode 100644
index 0000000..8cd77d4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_5.ql.java.out
@@ -0,0 +1 @@
+3.14159245358979343.1415924535897934 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/atan_5.ql.out b/systemtest/testdata/unaryfunc/atan_5.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_1.ql b/systemtest/testdata/unaryfunc/coll_1.ql
new file mode 100644
index 0000000..f972aa8
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_1.ql
@@ -0,0 +1,2 @@
+
+ select abs(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_1.ql.java.out b/systemtest/testdata/unaryfunc/coll_1.ql.java.out
new file mode 100644
index 0000000..f500de4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_1.ql.out b/systemtest/testdata/unaryfunc/coll_1.ql.out
new file mode 100644
index 0000000..262c46a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_10.ql b/systemtest/testdata/unaryfunc/coll_10.ql
new file mode 100644
index 0000000..d38b0f7
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_10.ql
@@ -0,0 +1,2 @@
+
+ select arccos(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_10.ql.java.out b/systemtest/testdata/unaryfunc/coll_10.ql.java.out
new file mode 100644
index 0000000..1238907
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_10.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_10.ql.out b/systemtest/testdata/unaryfunc/coll_10.ql.out
new file mode 100644
index 0000000..0056551
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_10.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_11.ql b/systemtest/testdata/unaryfunc/coll_11.ql
new file mode 100644
index 0000000..af905f7
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_11.ql
@@ -0,0 +1,2 @@
+
+ select arctan(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_11.ql.java.out b/systemtest/testdata/unaryfunc/coll_11.ql.java.out
new file mode 100644
index 0000000..7560fcf
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_11.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_11.ql.out b/systemtest/testdata/unaryfunc/coll_11.ql.out
new file mode 100644
index 0000000..bba7c3e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_11.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_2.ql b/systemtest/testdata/unaryfunc/coll_2.ql
new file mode 100644
index 0000000..62d365a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_2.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_2.ql.java.out b/systemtest/testdata/unaryfunc/coll_2.ql.java.out
new file mode 100644
index 0000000..f500de4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_2.ql.out b/systemtest/testdata/unaryfunc/coll_2.ql.out
new file mode 100644
index 0000000..262c46a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_2.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_3.ql b/systemtest/testdata/unaryfunc/coll_3.ql
new file mode 100644
index 0000000..312e973
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_3.ql
@@ -0,0 +1,2 @@
+
+ select exp(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_3.ql.java.out b/systemtest/testdata/unaryfunc/coll_3.ql.java.out
new file mode 100644
index 0000000..7502b88
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_3.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_3.ql.out b/systemtest/testdata/unaryfunc/coll_3.ql.out
new file mode 100644
index 0000000..59576c4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_3.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_4.ql b/systemtest/testdata/unaryfunc/coll_4.ql
new file mode 100644
index 0000000..451a832
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_4.ql
@@ -0,0 +1,2 @@
+
+ select ln(ImgCharA) from ImgCharA -- errno 511: ERANGE
diff --git a/systemtest/testdata/unaryfunc/coll_4.ql.java.out b/systemtest/testdata/unaryfunc/coll_4.ql.java.out
new file mode 100644
index 0000000..c77df2d
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_4.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 511 in line 4, column 9, near token ln: The function result exceeds the allowed range. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_4.ql.out b/systemtest/testdata/unaryfunc/coll_4.ql.out
new file mode 100644
index 0000000..081dfc0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_4.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=511
diff --git a/systemtest/testdata/unaryfunc/coll_5.ql b/systemtest/testdata/unaryfunc/coll_5.ql
new file mode 100644
index 0000000..3b20d59
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_5.ql
@@ -0,0 +1,2 @@
+
+ select log(ImgCharA) from ImgCharA -- errno 511: ERANGE
diff --git a/systemtest/testdata/unaryfunc/coll_5.ql.java.out b/systemtest/testdata/unaryfunc/coll_5.ql.java.out
new file mode 100644
index 0000000..38465d1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_5.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 511 in line 4, column 9, near token log: The function result exceeds the allowed range. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_5.ql.out b/systemtest/testdata/unaryfunc/coll_5.ql.out
new file mode 100644
index 0000000..081dfc0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_5.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=511
diff --git a/systemtest/testdata/unaryfunc/coll_6.ql b/systemtest/testdata/unaryfunc/coll_6.ql
new file mode 100644
index 0000000..cb45c09
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_6.ql
@@ -0,0 +1,2 @@
+
+ select sin(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_6.ql.java.out b/systemtest/testdata/unaryfunc/coll_6.ql.java.out
new file mode 100644
index 0000000..fc98afc
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_6.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_6.ql.out b/systemtest/testdata/unaryfunc/coll_6.ql.out
new file mode 100644
index 0000000..0a35a5a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_6.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_7.ql b/systemtest/testdata/unaryfunc/coll_7.ql
new file mode 100644
index 0000000..f68389b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_7.ql
@@ -0,0 +1,2 @@
+
+ select cos(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_7.ql.java.out b/systemtest/testdata/unaryfunc/coll_7.ql.java.out
new file mode 100644
index 0000000..685a4f0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_7.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_7.ql.out b/systemtest/testdata/unaryfunc/coll_7.ql.out
new file mode 100644
index 0000000..6981952
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_7.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_8.ql b/systemtest/testdata/unaryfunc/coll_8.ql
new file mode 100644
index 0000000..810d72e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_8.ql
@@ -0,0 +1,2 @@
+
+ select tan(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_8.ql.java.out b/systemtest/testdata/unaryfunc/coll_8.ql.java.out
new file mode 100644
index 0000000..a8418f4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_8.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_8.ql.out b/systemtest/testdata/unaryfunc/coll_8.ql.out
new file mode 100644
index 0000000..62327b7
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_8.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_9.ql b/systemtest/testdata/unaryfunc/coll_9.ql
new file mode 100644
index 0000000..9e099c5
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_9.ql
@@ -0,0 +1,2 @@
+
+ select arcsin(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_9.ql.java.out b/systemtest/testdata/unaryfunc/coll_9.ql.java.out
new file mode 100644
index 0000000..56d33b4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_9.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_9.ql.out b/systemtest/testdata/unaryfunc/coll_9.ql.out
new file mode 100644
index 0000000..42eada3
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_9.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/cos_1.ql b/systemtest/testdata/unaryfunc/cos_1.ql
new file mode 100644
index 0000000..232f416
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_1.ql
@@ -0,0 +1,2 @@
+
+ select cos(0) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/cos_1.ql.java.out b/systemtest/testdata/unaryfunc/cos_1.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_1.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/cos_1.ql.out b/systemtest/testdata/unaryfunc/cos_1.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/cos_2.ql b/systemtest/testdata/unaryfunc/cos_2.ql
new file mode 100644
index 0000000..48f873b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_2.ql
@@ -0,0 +1,2 @@
+
+ select 2 * cos(3.1415927 / 4) from ImgCharA -- 1.4142136
diff --git a/systemtest/testdata/unaryfunc/cos_2.ql.java.out b/systemtest/testdata/unaryfunc/cos_2.ql.java.out
new file mode 100644
index 0000000..e3b68f6
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_2.ql.java.out
@@ -0,0 +1 @@
+1.41421353146447441.4142135314644744 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/cos_2.ql.out b/systemtest/testdata/unaryfunc/cos_2.ql.out
new file mode 100644
index 0000000..a23dbb9
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.41421
+Element 2: 1.41421
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/cos_3.ql b/systemtest/testdata/unaryfunc/cos_3.ql
new file mode 100644
index 0000000..27ecf3b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_3.ql
@@ -0,0 +1,2 @@
+
+ select cos(3.1415927/2) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/cos_3.ql.java.out b/systemtest/testdata/unaryfunc/cos_3.ql.java.out
new file mode 100644
index 0000000..84dc787
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_3.ql.java.out
@@ -0,0 +1 @@
+-4.371139000186444E-8-4.371139000186444E-8 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/cos_3.ql.out b/systemtest/testdata/unaryfunc/cos_3.ql.out
new file mode 100644
index 0000000..e69d8ef
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -4.37114e-08
+Element 2: -4.37114e-08
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/cos_4.ql b/systemtest/testdata/unaryfunc/cos_4.ql
new file mode 100644
index 0000000..997189e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_4.ql
@@ -0,0 +1,2 @@
+
+ select cos(3.1415927) from ImgCharA -- -1
diff --git a/systemtest/testdata/unaryfunc/cos_4.ql.java.out b/systemtest/testdata/unaryfunc/cos_4.ql.java.out
new file mode 100644
index 0000000..b902162
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_4.ql.java.out
@@ -0,0 +1 @@
+-0.9999999999999962-0.9999999999999962 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/cos_4.ql.out b/systemtest/testdata/unaryfunc/cos_4.ql.out
new file mode 100644
index 0000000..0f7dc93
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -1
+Element 2: -1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/cos_5.ql b/systemtest/testdata/unaryfunc/cos_5.ql
new file mode 100644
index 0000000..094f44a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_5.ql
@@ -0,0 +1,2 @@
+
+ select cos(3*3.1415927/2) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/cos_5.ql.java.out b/systemtest/testdata/unaryfunc/cos_5.ql.java.out
new file mode 100644
index 0000000..2e699af
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_5.ql.java.out
@@ -0,0 +1 @@
+1.1924880454812102E-81.1924880454812102E-8 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/cos_5.ql.out b/systemtest/testdata/unaryfunc/cos_5.ql.out
new file mode 100644
index 0000000..3a2efa1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.19249e-08
+Element 2: 1.19249e-08
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/cos_6.ql b/systemtest/testdata/unaryfunc/cos_6.ql
new file mode 100644
index 0000000..393423c
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_6.ql
@@ -0,0 +1,2 @@
+
+ select cos(2* 3.1415927) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/cos_6.ql.java.out b/systemtest/testdata/unaryfunc/cos_6.ql.java.out
new file mode 100644
index 0000000..2a00f38
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_6.ql.java.out
@@ -0,0 +1 @@
+0.99999999999998470.9999999999999847 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/cos_6.ql.out b/systemtest/testdata/unaryfunc/cos_6.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_6.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/cos_7.ql b/systemtest/testdata/unaryfunc/cos_7.ql
new file mode 100644
index 0000000..c995f6b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_7.ql
@@ -0,0 +1,2 @@
+
+ select cos(1000000 * 3.1415927) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/cos_7.ql.java.out b/systemtest/testdata/unaryfunc/cos_7.ql.java.out
new file mode 100644
index 0000000..64a533b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_7.ql.java.out
@@ -0,0 +1 @@
+0.99535613472119480.9953561347211948 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/cos_7.ql.out b/systemtest/testdata/unaryfunc/cos_7.ql.out
new file mode 100644
index 0000000..49dfb79
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_7.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0.995356
+Element 2: 0.995356
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/exp_1.ql b/systemtest/testdata/unaryfunc/exp_1.ql
new file mode 100644
index 0000000..b32fdc3
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_1.ql
@@ -0,0 +1,2 @@
+
+ select exp(1) from ImgCharA -- e
diff --git a/systemtest/testdata/unaryfunc/exp_1.ql.java.out b/systemtest/testdata/unaryfunc/exp_1.ql.java.out
new file mode 100644
index 0000000..dfce99e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_1.ql.java.out
@@ -0,0 +1 @@
+2.7182818284590452.718281828459045 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/exp_1.ql.out b/systemtest/testdata/unaryfunc/exp_1.ql.out
new file mode 100644
index 0000000..9b92e98
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 2.71828
+Element 2: 2.71828
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/exp_2.ql b/systemtest/testdata/unaryfunc/exp_2.ql
new file mode 100644
index 0000000..3893f13
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_2.ql
@@ -0,0 +1,2 @@
+
+ select exp(0.0) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/exp_2.ql.java.out b/systemtest/testdata/unaryfunc/exp_2.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_2.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/exp_2.ql.out b/systemtest/testdata/unaryfunc/exp_2.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/exp_3.ql b/systemtest/testdata/unaryfunc/exp_3.ql
new file mode 100644
index 0000000..236b028
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_3.ql
@@ -0,0 +1,2 @@
+
+ select exp(-10) from ImgCharA -- 4.539993e-05
diff --git a/systemtest/testdata/unaryfunc/exp_3.ql.java.out b/systemtest/testdata/unaryfunc/exp_3.ql.java.out
new file mode 100644
index 0000000..4619872
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_3.ql.java.out
@@ -0,0 +1 @@
+4.5399929762484854E-54.5399929762484854E-5 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/exp_3.ql.out b/systemtest/testdata/unaryfunc/exp_3.ql.out
new file mode 100644
index 0000000..ceaffa1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 4.53999e-05
+Element 2: 4.53999e-05
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/exp_erange_1.ql b/systemtest/testdata/unaryfunc/exp_erange_1.ql
new file mode 100644
index 0000000..cc13bb3
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_erange_1.ql
@@ -0,0 +1,2 @@
+
+ select exp(745.15) from ImgCharA -- errno 511: ERANGE
diff --git a/systemtest/testdata/unaryfunc/exp_erange_1.ql.java.out b/systemtest/testdata/unaryfunc/exp_erange_1.ql.java.out
new file mode 100644
index 0000000..4fd2e8e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_erange_1.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 511 in line 4, column 9, near token exp: The function result exceeds the allowed range. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/exp_erange_1.ql.out b/systemtest/testdata/unaryfunc/exp_erange_1.ql.out
new file mode 100644
index 0000000..081dfc0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_erange_1.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=511
diff --git a/systemtest/testdata/unaryfunc/exp_erange_2.ql b/systemtest/testdata/unaryfunc/exp_erange_2.ql
new file mode 100644
index 0000000..6dd1d1f
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_erange_2.ql
@@ -0,0 +1,2 @@
+
+ select exp(-745.15) from ImgCharA -- errno 511: ERANGE
diff --git a/systemtest/testdata/unaryfunc/exp_erange_2.ql.java.out b/systemtest/testdata/unaryfunc/exp_erange_2.ql.java.out
new file mode 100644
index 0000000..4fd2e8e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_erange_2.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 511 in line 4, column 9, near token exp: The function result exceeds the allowed range. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/exp_erange_2.ql.out b/systemtest/testdata/unaryfunc/exp_erange_2.ql.out
new file mode 100644
index 0000000..081dfc0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_erange_2.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=511
diff --git a/systemtest/testdata/unaryfunc/ln_1.ql b/systemtest/testdata/unaryfunc/ln_1.ql
new file mode 100644
index 0000000..216b327
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_1.ql
@@ -0,0 +1,2 @@
+
+ select ln(exp(1)) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/ln_1.ql.java.out b/systemtest/testdata/unaryfunc/ln_1.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_1.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/ln_1.ql.out b/systemtest/testdata/unaryfunc/ln_1.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/ln_2.ql b/systemtest/testdata/unaryfunc/ln_2.ql
new file mode 100644
index 0000000..c5dd8fe
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_2.ql
@@ -0,0 +1,2 @@
+
+ select ln(1) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/ln_2.ql.java.out b/systemtest/testdata/unaryfunc/ln_2.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_2.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/ln_2.ql.out b/systemtest/testdata/unaryfunc/ln_2.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/ln_3.ql b/systemtest/testdata/unaryfunc/ln_3.ql
new file mode 100644
index 0000000..6091381
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_3.ql
@@ -0,0 +1,2 @@
+
+ select ln(0.1) from ImgCharA -- -2.3025851
diff --git a/systemtest/testdata/unaryfunc/ln_3.ql.java.out b/systemtest/testdata/unaryfunc/ln_3.ql.java.out
new file mode 100644
index 0000000..96646ff
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_3.ql.java.out
@@ -0,0 +1 @@
+-2.3025850780928847-2.3025850780928847 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/ln_3.ql.out b/systemtest/testdata/unaryfunc/ln_3.ql.out
new file mode 100644
index 0000000..4f3f174
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -2.30259
+Element 2: -2.30259
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/ln_edom.ql b/systemtest/testdata/unaryfunc/ln_edom.ql
new file mode 100644
index 0000000..d110293
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_edom.ql
@@ -0,0 +1,2 @@
+
+ select ln(-1) from ImgCharA -- errno 510: EDOM
diff --git a/systemtest/testdata/unaryfunc/ln_edom.ql.java.out b/systemtest/testdata/unaryfunc/ln_edom.ql.java.out
new file mode 100644
index 0000000..f047993
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_edom.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 510 in line 4, column 9, near token ln: The argument is outside the function domain. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/ln_edom.ql.out b/systemtest/testdata/unaryfunc/ln_edom.ql.out
new file mode 100644
index 0000000..0e9ec7e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_edom.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=510
diff --git a/systemtest/testdata/unaryfunc/ln_erange.ql b/systemtest/testdata/unaryfunc/ln_erange.ql
new file mode 100644
index 0000000..82009bf
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_erange.ql
@@ -0,0 +1,2 @@
+
+ select ln(0) from ImgCharA -- errno 511: ERANGE
diff --git a/systemtest/testdata/unaryfunc/ln_erange.ql.java.out b/systemtest/testdata/unaryfunc/ln_erange.ql.java.out
new file mode 100644
index 0000000..c77df2d
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_erange.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 511 in line 4, column 9, near token ln: The function result exceeds the allowed range. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/ln_erange.ql.out b/systemtest/testdata/unaryfunc/ln_erange.ql.out
new file mode 100644
index 0000000..081dfc0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_erange.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=511
diff --git a/systemtest/testdata/unaryfunc/log_1.ql b/systemtest/testdata/unaryfunc/log_1.ql
new file mode 100644
index 0000000..3def8a6
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_1.ql
@@ -0,0 +1,2 @@
+
+ select log(10) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/log_1.ql.java.out b/systemtest/testdata/unaryfunc/log_1.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_1.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/log_1.ql.out b/systemtest/testdata/unaryfunc/log_1.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/log_2.ql b/systemtest/testdata/unaryfunc/log_2.ql
new file mode 100644
index 0000000..ee569e8
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_2.ql
@@ -0,0 +1,2 @@
+
+ select log(1) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/log_2.ql.java.out b/systemtest/testdata/unaryfunc/log_2.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_2.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/log_2.ql.out b/systemtest/testdata/unaryfunc/log_2.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/log_3.ql b/systemtest/testdata/unaryfunc/log_3.ql
new file mode 100644
index 0000000..21b0003
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_3.ql
@@ -0,0 +1,2 @@
+
+ select log(0.1) from ImgCharA -- -1
diff --git a/systemtest/testdata/unaryfunc/log_3.ql.java.out b/systemtest/testdata/unaryfunc/log_3.ql.java.out
new file mode 100644
index 0000000..d2c3908
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_3.ql.java.out
@@ -0,0 +1 @@
+-0.999999993528508-0.999999993528508 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/log_3.ql.out b/systemtest/testdata/unaryfunc/log_3.ql.out
new file mode 100644
index 0000000..0f7dc93
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -1
+Element 2: -1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/log_edom.ql b/systemtest/testdata/unaryfunc/log_edom.ql
new file mode 100644
index 0000000..be19c83
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_edom.ql
@@ -0,0 +1,2 @@
+
+ select log(-1) from ImgCharA -- errno 510: EDOM
diff --git a/systemtest/testdata/unaryfunc/log_edom.ql.java.out b/systemtest/testdata/unaryfunc/log_edom.ql.java.out
new file mode 100644
index 0000000..1373616
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_edom.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 510 in line 4, column 9, near token log: The argument is outside the function domain. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/log_edom.ql.out b/systemtest/testdata/unaryfunc/log_edom.ql.out
new file mode 100644
index 0000000..0e9ec7e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_edom.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=510
diff --git a/systemtest/testdata/unaryfunc/log_erange.ql b/systemtest/testdata/unaryfunc/log_erange.ql
new file mode 100644
index 0000000..c6825b9
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_erange.ql
@@ -0,0 +1,2 @@
+
+ select log(0) from ImgCharA -- errno 511: ERANGE
diff --git a/systemtest/testdata/unaryfunc/log_erange.ql.java.out b/systemtest/testdata/unaryfunc/log_erange.ql.java.out
new file mode 100644
index 0000000..38465d1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_erange.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 511 in line 4, column 9, near token log: The function result exceeds the allowed range. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/log_erange.ql.out b/systemtest/testdata/unaryfunc/log_erange.ql.out
new file mode 100644
index 0000000..081dfc0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_erange.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=511
diff --git a/systemtest/testdata/unaryfunc/mix_1.ql b/systemtest/testdata/unaryfunc/mix_1.ql
new file mode 100644
index 0000000..7121c63
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_1.ql
@@ -0,0 +1,2 @@
+
+ select abs(log(exp(-sqrt(25)/log(exp(1))))) from ImgCharA -- 5
diff --git a/systemtest/testdata/unaryfunc/mix_1.ql.java.out b/systemtest/testdata/unaryfunc/mix_1.ql.java.out
new file mode 100644
index 0000000..2ee6b4b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_1.ql.java.out
@@ -0,0 +1 @@
+5.05.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/mix_1.ql.out b/systemtest/testdata/unaryfunc/mix_1.ql.out
new file mode 100644
index 0000000..6f640b8
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 5
+Element 2: 5
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/mix_2.ql b/systemtest/testdata/unaryfunc/mix_2.ql
new file mode 100644
index 0000000..7506261
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_2.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(count_cells(a > 0)) from ImgCharA as a
diff --git a/systemtest/testdata/unaryfunc/mix_2.ql.java.out b/systemtest/testdata/unaryfunc/mix_2.ql.java.out
new file mode 100644
index 0000000..c784127
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_2.ql.java.out
@@ -0,0 +1 @@
+0.011.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/mix_2.ql.out b/systemtest/testdata/unaryfunc/mix_2.ql.out
new file mode 100644
index 0000000..c195d25
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 11
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/mix_3.ql b/systemtest/testdata/unaryfunc/mix_3.ql
new file mode 100644
index 0000000..f512f9f
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_3.ql
@@ -0,0 +1,2 @@
+
+ select count_cells(log(a) > 0) from ImgCharA as a -- -- errno 511: ERANGE
diff --git a/systemtest/testdata/unaryfunc/mix_3.ql.java.out b/systemtest/testdata/unaryfunc/mix_3.ql.java.out
new file mode 100644
index 0000000..78b42dd
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_3.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 511 in line 4, column 21, near token log: The function result exceeds the allowed range. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/mix_3.ql.out b/systemtest/testdata/unaryfunc/mix_3.ql.out
new file mode 100644
index 0000000..081dfc0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_3.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=511
diff --git a/systemtest/testdata/unaryfunc/sin_1.ql b/systemtest/testdata/unaryfunc/sin_1.ql
new file mode 100644
index 0000000..97f200b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_1.ql
@@ -0,0 +1,2 @@
+
+ select sin(0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/sin_1.ql.java.out b/systemtest/testdata/unaryfunc/sin_1.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_1.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sin_1.ql.out b/systemtest/testdata/unaryfunc/sin_1.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sin_2.ql b/systemtest/testdata/unaryfunc/sin_2.ql
new file mode 100644
index 0000000..fb05a0b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_2.ql
@@ -0,0 +1,2 @@
+
+ select 2*sin(3.1415927 / 4) from ImgCharA -- 1.4142136
diff --git a/systemtest/testdata/unaryfunc/sin_2.ql.java.out b/systemtest/testdata/unaryfunc/sin_2.ql.java.out
new file mode 100644
index 0000000..ab6fe9a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_2.ql.java.out
@@ -0,0 +1 @@
+1.4142135932817151.414213593281715 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sin_2.ql.out b/systemtest/testdata/unaryfunc/sin_2.ql.out
new file mode 100644
index 0000000..a23dbb9
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.41421
+Element 2: 1.41421
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sin_3.ql b/systemtest/testdata/unaryfunc/sin_3.ql
new file mode 100644
index 0000000..ee6f07f
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_3.ql
@@ -0,0 +1,2 @@
+
+ select sin(3.1415927/2) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/sin_3.ql.java.out b/systemtest/testdata/unaryfunc/sin_3.ql.java.out
new file mode 100644
index 0000000..128ea34
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_3.ql.java.out
@@ -0,0 +1 @@
+0.9999999999999990.999999999999999 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sin_3.ql.out b/systemtest/testdata/unaryfunc/sin_3.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sin_4.ql b/systemtest/testdata/unaryfunc/sin_4.ql
new file mode 100644
index 0000000..3cad6a8
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_4.ql
@@ -0,0 +1,2 @@
+
+ select sin(3.1415927) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/sin_4.ql.java.out b/systemtest/testdata/unaryfunc/sin_4.ql.java.out
new file mode 100644
index 0000000..3c6d95b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_4.ql.java.out
@@ -0,0 +1 @@
+-8.74227800037288E-8-8.74227800037288E-8 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sin_4.ql.out b/systemtest/testdata/unaryfunc/sin_4.ql.out
new file mode 100644
index 0000000..c5f150b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -8.74228e-08
+Element 2: -8.74228e-08
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sin_5.ql b/systemtest/testdata/unaryfunc/sin_5.ql
new file mode 100644
index 0000000..675cba0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_5.ql
@@ -0,0 +1,2 @@
+
+ select sin(3*3.1415927/2) from ImgCharA -- -1
diff --git a/systemtest/testdata/unaryfunc/sin_5.ql.java.out b/systemtest/testdata/unaryfunc/sin_5.ql.java.out
new file mode 100644
index 0000000..4cd29aa
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_5.ql.java.out
@@ -0,0 +1 @@
+-0.9999999999999999-0.9999999999999999 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sin_5.ql.out b/systemtest/testdata/unaryfunc/sin_5.ql.out
new file mode 100644
index 0000000..0f7dc93
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -1
+Element 2: -1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sin_6.ql b/systemtest/testdata/unaryfunc/sin_6.ql
new file mode 100644
index 0000000..6349198
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_6.ql
@@ -0,0 +1,2 @@
+
+ select sin(2* 3.1415927) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/sin_6.ql.java.out b/systemtest/testdata/unaryfunc/sin_6.ql.java.out
new file mode 100644
index 0000000..9c2cd6c
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_6.ql.java.out
@@ -0,0 +1 @@
+1.748455600074569E-71.748455600074569E-7 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sin_6.ql.out b/systemtest/testdata/unaryfunc/sin_6.ql.out
new file mode 100644
index 0000000..24c8df7
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_6.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.74846e-07
+Element 2: 1.74846e-07
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sin_7.ql b/systemtest/testdata/unaryfunc/sin_7.ql
new file mode 100644
index 0000000..fe39848
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_7.ql
@@ -0,0 +1,2 @@
+
+ select sin(1000000 * 3.1415927) from ImgCharA -- 0.096 ???
diff --git a/systemtest/testdata/unaryfunc/sin_7.ql.java.out b/systemtest/testdata/unaryfunc/sin_7.ql.java.out
new file mode 100644
index 0000000..822d401
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_7.ql.java.out
@@ -0,0 +1 @@
+0.096260921836863260.09626092183686326 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sin_7.ql.out b/systemtest/testdata/unaryfunc/sin_7.ql.out
new file mode 100644
index 0000000..e1163c2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_7.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0.0962609
+Element 2: 0.0962609
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_1.ql b/systemtest/testdata/unaryfunc/sqrt_1.ql
new file mode 100644
index 0000000..a1c87a5
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_1.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(4.0) from ImgCharA -- 2
diff --git a/systemtest/testdata/unaryfunc/sqrt_1.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_1.ql.java.out
new file mode 100644
index 0000000..9f2cc4e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_1.ql.java.out
@@ -0,0 +1 @@
+2.02.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_1.ql.out b/systemtest/testdata/unaryfunc/sqrt_1.ql.out
new file mode 100644
index 0000000..c9c30f1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 2
+Element 2: 2
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_2.ql b/systemtest/testdata/unaryfunc/sqrt_2.ql
new file mode 100644
index 0000000..262b41f
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_2.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(3.5 + 5.5) from ImgCharA -- 3
diff --git a/systemtest/testdata/unaryfunc/sqrt_2.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_2.ql.java.out
new file mode 100644
index 0000000..9566c4f
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_2.ql.java.out
@@ -0,0 +1 @@
+3.03.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_2.ql.out b/systemtest/testdata/unaryfunc/sqrt_2.ql.out
new file mode 100644
index 0000000..0d53948
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3
+Element 2: 3
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_3.ql b/systemtest/testdata/unaryfunc/sqrt_3.ql
new file mode 100644
index 0000000..75ea2b8
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_3.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(sqrt(16)) from ImgCharA -- 2
diff --git a/systemtest/testdata/unaryfunc/sqrt_3.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_3.ql.java.out
new file mode 100644
index 0000000..9f2cc4e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_3.ql.java.out
@@ -0,0 +1 @@
+2.02.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_3.ql.out b/systemtest/testdata/unaryfunc/sqrt_3.ql.out
new file mode 100644
index 0000000..c9c30f1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 2
+Element 2: 2
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_4.ql b/systemtest/testdata/unaryfunc/sqrt_4.ql
new file mode 100644
index 0000000..496fd35
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_4.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(0.0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/sqrt_4.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_4.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_4.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_4.ql.out b/systemtest/testdata/unaryfunc/sqrt_4.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_5.ql b/systemtest/testdata/unaryfunc/sqrt_5.ql
new file mode 100644
index 0000000..eeed736
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_5.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/sqrt_5.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_5.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_5.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_5.ql.out b/systemtest/testdata/unaryfunc/sqrt_5.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_6.ql b/systemtest/testdata/unaryfunc/sqrt_6.ql
new file mode 100644
index 0000000..a9eb40b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_6.ql
@@ -0,0 +1,2 @@
+
+ select 1.0 + sqrt(1.0) from ImgCharA -- 2
diff --git a/systemtest/testdata/unaryfunc/sqrt_6.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_6.ql.java.out
new file mode 100644
index 0000000..9f2cc4e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_6.ql.java.out
@@ -0,0 +1 @@
+2.02.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_6.ql.out b/systemtest/testdata/unaryfunc/sqrt_6.ql.out
new file mode 100644
index 0000000..c9c30f1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_6.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 2
+Element 2: 2
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_7.ql b/systemtest/testdata/unaryfunc/sqrt_7.ql
new file mode 100644
index 0000000..a838d68
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_7.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(2.0) - 1.0 from ImgCharA -- 0.4142...
diff --git a/systemtest/testdata/unaryfunc/sqrt_7.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_7.ql.java.out
new file mode 100644
index 0000000..eb428b9
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_7.ql.java.out
@@ -0,0 +1 @@
+0.414213562373095150.41421356237309515 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_7.ql.out b/systemtest/testdata/unaryfunc/sqrt_7.ql.out
new file mode 100644
index 0000000..0851541
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_7.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0.414214
+Element 2: 0.414214
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_edom.ql b/systemtest/testdata/unaryfunc/sqrt_edom.ql
new file mode 100644
index 0000000..740f40b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_edom.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(-10.0) from ImgCharA -- errno 510: EDOM
diff --git a/systemtest/testdata/unaryfunc/sqrt_edom.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_edom.ql.java.out
new file mode 100644
index 0000000..623759c
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_edom.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 510 in line 4, column 9, near token sqrt: The argument is outside the function domain. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_edom.ql.out b/systemtest/testdata/unaryfunc/sqrt_edom.ql.out
new file mode 100644
index 0000000..0e9ec7e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_edom.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=510
diff --git a/systemtest/testdata/unaryfunc/tan_1.ql b/systemtest/testdata/unaryfunc/tan_1.ql
new file mode 100644
index 0000000..794e257
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_1.ql
@@ -0,0 +1,2 @@
+
+ select tan(0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/tan_1.ql.java.out b/systemtest/testdata/unaryfunc/tan_1.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_1.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/tan_1.ql.out b/systemtest/testdata/unaryfunc/tan_1.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/tan_2.ql b/systemtest/testdata/unaryfunc/tan_2.ql
new file mode 100644
index 0000000..96bf599
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_2.ql
@@ -0,0 +1,2 @@
+
+ select tan(3.1415927/ 4) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/tan_2.ql.java.out b/systemtest/testdata/unaryfunc/tan_2.ql.java.out
new file mode 100644
index 0000000..bc5381b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_2.ql.java.out
@@ -0,0 +1 @@
+1.0000000437113911.000000043711391 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/tan_2.ql.out b/systemtest/testdata/unaryfunc/tan_2.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/tan_3.ql b/systemtest/testdata/unaryfunc/tan_3.ql
new file mode 100644
index 0000000..8f78d2c
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_3.ql
@@ -0,0 +1,2 @@
+
+ select tan(-3.1415927 / 4) from ImgCharA -- -1
diff --git a/systemtest/testdata/unaryfunc/tan_3.ql.java.out b/systemtest/testdata/unaryfunc/tan_3.ql.java.out
new file mode 100644
index 0000000..3dc700d
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_3.ql.java.out
@@ -0,0 +1 @@
+-1.000000043711391-1.000000043711391 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/tan_3.ql.out b/systemtest/testdata/unaryfunc/tan_3.ql.out
new file mode 100644
index 0000000..0f7dc93
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -1
+Element 2: -1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/tan_4.ql b/systemtest/testdata/unaryfunc/tan_4.ql
new file mode 100644
index 0000000..edade02
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_4.ql
@@ -0,0 +1,2 @@
+
+ select tan(1000000 * 3.1415927) from ImgCharA -- 0.096 ???
diff --git a/systemtest/testdata/unaryfunc/tan_4.ql.java.out b/systemtest/testdata/unaryfunc/tan_4.ql.java.out
new file mode 100644
index 0000000..4fbfa9c
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_4.ql.java.out
@@ -0,0 +1 @@
+0.096710030188166290.09671003018816629 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/tan_4.ql.out b/systemtest/testdata/unaryfunc/tan_4.ql.out
new file mode 100644
index 0000000..56502ab
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0.09671
+Element 2: 0.09671
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/tan_edom_1.ql b/systemtest/testdata/unaryfunc/tan_edom_1.ql
new file mode 100644
index 0000000..aa82c6b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_edom_1.ql
@@ -0,0 +1,2 @@
+
+ select tan(1.5707962) from ImgCharA -- -> ~ 10^7
diff --git a/systemtest/testdata/unaryfunc/tan_edom_1.ql.java.out b/systemtest/testdata/unaryfunc/tan_edom_1.ql.java.out
new file mode 100644
index 0000000..3cc7962
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_edom_1.ql.java.out
@@ -0,0 +1 @@
+1.3245401606862923E71.3245401606862923E7 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/tan_edom_1.ql.out b/systemtest/testdata/unaryfunc/tan_edom_1.ql.out
new file mode 100644
index 0000000..56490a1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_edom_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.32454e+07
+Element 2: 1.32454e+07
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/tan_edom_2.ql b/systemtest/testdata/unaryfunc/tan_edom_2.ql
new file mode 100644
index 0000000..f541dd2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_edom_2.ql
@@ -0,0 +1,2 @@
+
+ select tan(-1.5707962) from ImgCharA -- -> ~ -10^7
diff --git a/systemtest/testdata/unaryfunc/tan_edom_2.ql.java.out b/systemtest/testdata/unaryfunc/tan_edom_2.ql.java.out
new file mode 100644
index 0000000..01d4511
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_edom_2.ql.java.out
@@ -0,0 +1 @@
+-1.3245401606862923E7-1.3245401606862923E7 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/tan_edom_2.ql.out b/systemtest/testdata/unaryfunc/tan_edom_2.ql.out
new file mode 100644
index 0000000..783f49c
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_edom_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -1.32454e+07
+Element 2: -1.32454e+07
+-- Testbed end block: