Changeset: 0fb74d107207 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0fb74d107207
Added Files:
sql/backends/monet5/gsl/46_gsl.sql
sql/backends/monet5/gsl/73_gsl.mal
sql/backends/monet5/gsl/Makefile.ag
sql/backends/monet5/gsl/Tests/All
sql/backends/monet5/gsl/Tests/gsl00.mal
sql/backends/monet5/gsl/Tests/gsl00.stable.err
sql/backends/monet5/gsl/Tests/gsl00.stable.out
sql/backends/monet5/gsl/Tests/gsl01.sql
sql/backends/monet5/gsl/Tests/gsl01.stable.err
sql/backends/monet5/gsl/Tests/gsl01.stable.out
sql/backends/monet5/gsl/gsl.c
sql/backends/monet5/gsl/gsl.mal
Modified Files:
configure.ag
sql/backends/monet5/Makefile.ag
Branch: default
Log Message:
add wrapper for gsl function for Bart
diffs (truncated from 459 to 300 lines):
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -234,6 +234,13 @@ AC_ARG_ENABLE(jsonstore,
enable_jsonstore=$enableval,
enable_jsonstore=$dft_jsonstore)
+dft_gsl=auto
+AC_ARG_ENABLE(gsl,
+ AS_HELP_STRING([--enable-gsl],
+ [enable support for GSL (default=no)]),
+ enable_gsl=$enableval,
+ enable_gsl=$dft_gsl)
+
dft_odbc=auto
AC_ARG_ENABLE(odbc,
AS_HELP_STRING([--enable-odbc],
@@ -2453,6 +2460,18 @@ if test "x$enable_jsonstore" != xno; the
esac
fi
+dnl Check for gsl library for statistical functions
+org_have_gsl=no
+have_gsl=$org_have_gsl
+if test "x$enable_gsl" != xno; then
+ PKG_CHECK_MODULES([gsl], [gsl],
+ [have_gsl=yes; AC_DEFINE(HAVE_GSL, 1, [Define if you have the
gsl library])],
+ [have_gsl=no; why_have_gsl="(gsl library not found)"
+ if test "x$enable_gsl" = xyes; then AC_MSG_ERROR([gsl library
required for GSL support]); fi;
+ enable_gsl=no; disable_gsl="(gsl library not found)"])
+fi
+AM_CONDITIONAL(HAVE_GSL, test x"$have_gsl" != xno)
+
dnl checks for header files
AC_HEADER_STDBOOL
AC_HEADER_STDC
@@ -3266,6 +3285,7 @@ for comp in \
'jaql ' \
'jsonstore' \
'geom ' \
+ 'gsl ' \
'fits ' \
'rdf ' \
'datacell ' \
@@ -3293,6 +3313,7 @@ for comp in \
'curl ' \
'geos ' \
'getaddrinfo ' \
+ 'gsl ' \
'hwcounters ' \
'java ' \
'java_control ' \
diff --git a/sql/backends/monet5/Makefile.ag b/sql/backends/monet5/Makefile.ag
--- a/sql/backends/monet5/Makefile.ag
+++ b/sql/backends/monet5/Makefile.ag
@@ -15,7 +15,7 @@
# Copyright August 2008-2013 MonetDB B.V.
# All Rights Reserved.
-SUBDIRS = NOT_WIN32?vaults UDF LSST ENABLE_DATACELL?datacell
HAVE_JSONSTORE?rest
+SUBDIRS = NOT_WIN32?vaults UDF LSST ENABLE_DATACELL?datacell
HAVE_JSONSTORE?rest HAVE_GSL?gsl
INCLUDES = ../../include ../../common ../../storage ../../server \
../../../monetdb5/modules/atoms \
diff --git a/sql/backends/monet5/gsl/46_gsl.sql
b/sql/backends/monet5/gsl/46_gsl.sql
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/gsl/46_gsl.sql
@@ -0,0 +1,22 @@
+-- The contents of this file are subject to the MonetDB Public License
+-- Version 1.1 (the "License"); you may not use this file except in
+-- compliance with the License. You may obtain a copy of the License at
+-- http://www.monetdb.org/Legal/MonetDBLicense
+--
+-- Software distributed under the License is distributed on an "AS IS"
+-- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+-- License for the specific language governing rights and limitations
+-- under the License.
+--
+-- The Original Code is the MonetDB Database System.
+--
+-- The Initial Developer of the Original Code is CWI.
+-- Copyright August 2008-2013 MonetDB B.V.
+-- All Rights Reserved.
+
+-- (co) Arjen de Rijke, Bart Scheers
+-- Use statistical functions from gsl library
+
+-- Calculate Chi squared probability
+create function sys.chi2prob(chi2 double, datapoints double)
+returns double external name gsl."chi2prob";
diff --git a/sql/backends/monet5/gsl/73_gsl.mal
b/sql/backends/monet5/gsl/73_gsl.mal
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/gsl/73_gsl.mal
@@ -0,0 +1,18 @@
+# The contents of this file are subject to the MonetDB Public License
+# Version 1.1 (the "License"); you may not use this file except in
+# compliance with the License. You may obtain a copy of the License at
+# http://www.monetdb.org/Legal/MonetDBLicense
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+# License for the specific language governing rights and limitations
+# under the License.
+#
+# The Original Code is the MonetDB Database System.
+#
+# The Initial Developer of the Original Code is CWI.
+# Portions created by CWI are Copyright (C) 1997-July 2008 CWI.
+# Copyright August 2008-2013 MonetDB B.V.
+# All Rights Reserved.
+
+include gsl;
diff --git a/sql/backends/monet5/gsl/Makefile.ag
b/sql/backends/monet5/gsl/Makefile.ag
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/gsl/Makefile.ag
@@ -0,0 +1,54 @@
+# The contents of this file are subject to the MonetDB Public License
+# Version 1.1 (the "License"); you may not use this file except in
+# compliance with the License. You may obtain a copy of the License at
+# http://www.monetdb.org/Legal/MonetDBLicense
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+# License for the specific language governing rights and limitations
+# under the License.
+#
+# The Original Code is the MonetDB Database System.
+#
+# The Initial Developer of the Original Code is CWI.
+# Portions created by CWI are Copyright (C) 1997-July 2008 CWI.
+# Copyright August 2008-2013 MonetDB B.V.
+# All Rights Reserved.
+
+INCLUDES = ../../../../monetdb5/mal \
+ ../../../../common/options \
+ ../../../../common/stream \
+ ../../../../common/utils \
+ ../../../../gdk
+
+lib__gsl = {
+ MODULE
+ COND = HAVE_GSL
+ DIR = libdir/monetdb5
+ SOURCES = gsl.c
+ LIBS = $(gsl_LIBS)
+}
+
+headers_gslmal = {
+ COND = HAVE_GSL
+ HEADERS = mal
+ DIR = libdir/monetdb5
+ SOURCES = gsl.mal
+}
+
+headers_gslautoload = {
+ COND = HAVE_GSL
+ HEADERS = mal
+ DIR = libdir/monetdb5/autoload
+ SOURCES = 73_gsl.mal
+}
+
+headers_gsl = {
+ COND = HAVE_GSL
+ HEADERS = sql
+ DIR = libdir/monetdb5/createdb
+ SOURCES = 46_gsl.sql
+}
+
+EXTRA_DIST_DIR = Tests
+EXTRA_DIST = 73_gsl.mal gsl.mal
diff --git a/sql/backends/monet5/gsl/Tests/All
b/sql/backends/monet5/gsl/Tests/All
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/gsl/Tests/All
@@ -0,0 +1,2 @@
+gsl00
+gsl01
diff --git a/sql/backends/monet5/gsl/Tests/gsl00.mal
b/sql/backends/monet5/gsl/Tests/gsl00.mal
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/gsl/Tests/gsl00.mal
@@ -0,0 +1,4 @@
+a:=20:dbl;
+b:=5:dbl;
+c:=gsl.chi2prob(a,b);
+io.print(c);
diff --git a/sql/backends/monet5/gsl/Tests/gsl00.stable.err
b/sql/backends/monet5/gsl/Tests/gsl00.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/gsl/Tests/gsl00.stable.err
@@ -0,0 +1,29 @@
+stderr of test 'gsl00` in directory 'sql/backends/monet5/gsl` itself:
+
+
+# 15:55:26 >
+# 15:55:26 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"mapi_open=true" "--set" "mapi_port=36073" "--set"
"mapi_usock=/var/tmp/mtest-19131/.s.monetdb.36073" "--set" "monet_prompt="
"--forcemito" "--set" "mal_listing=2"
"--dbpath=/export/scratch2/rijke/monetdb/default/var/MonetDB/mTests_sql_backends_monet5_gsl"
"gsl00.mal"
+# 15:55:26 >
+
+# builtin opt gdk_dbpath =
/export/scratch2/rijke/monetdb/default/var/monetdb5/dbfarm/demo
+# builtin opt gdk_debug = 0
+# builtin opt gdk_vmtrim = yes
+# builtin opt monet_prompt = >
+# builtin opt monet_daemon = no
+# builtin opt mapi_port = 50000
+# builtin opt mapi_open = false
+# builtin opt mapi_autosense = false
+# builtin opt sql_optimizer = default_pipe
+# builtin opt sql_debug = 0
+# cmdline opt gdk_nr_threads = 0
+# cmdline opt mapi_open = true
+# cmdline opt mapi_port = 36073
+# cmdline opt mapi_usock = /var/tmp/mtest-19131/.s.monetdb.36073
+# cmdline opt monet_prompt =
+# cmdline opt mal_listing = 2
+# cmdline opt gdk_dbpath =
/export/scratch2/rijke/monetdb/default/var/MonetDB/mTests_sql_backends_monet5_gsl
+
+# 15:55:26 >
+# 15:55:26 > "Done."
+# 15:55:26 >
+
diff --git a/sql/backends/monet5/gsl/Tests/gsl00.stable.out
b/sql/backends/monet5/gsl/Tests/gsl00.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/gsl/Tests/gsl00.stable.out
@@ -0,0 +1,32 @@
+stdout of test 'gsl00` in directory 'sql/backends/monet5/gsl` itself:
+
+
+# 15:55:26 >
+# 15:55:26 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"mapi_open=true" "--set" "mapi_port=36073" "--set"
"mapi_usock=/var/tmp/mtest-19131/.s.monetdb.36073" "--set" "monet_prompt="
"--forcemito" "--set" "mal_listing=2"
"--dbpath=/export/scratch2/rijke/monetdb/default/var/MonetDB/mTests_sql_backends_monet5_gsl"
"gsl00.mal"
+# 15:55:26 >
+
+# MonetDB 5 server v11.16.0
+# This is an unreleased version
+# Serving database 'mTests_sql_backends_monet5_gsl', using 8 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically
linked
+# Found 15.592 GiB available main-memory.
+# Copyright (c) 1993-July 2008 CWI.
+# Copyright (c) August 2008-2013 MonetDB B.V., all rights reserved
+# Visit http://www.monetdb.org/ for further information
+# Listening for connection requests on
mapi:monetdb://rotterdam.ins.cwi.nl:36073/
+# Listening for UNIX domain connection requests on
mapi:monetdb:///var/tmp/mtest-19131/.s.monetdb.36073
+# MonetDB/GIS module loaded
+# MonetDB/JAQL module loaded
+# MonetDB/SQL module loaded
+function user.main():void;
+ a := 20:dbl;
+ b := 5:dbl;
+ c := gsl.chi2prob(a,b);
+ io.print(c);
+end main;
+[ 0.0012497305630313768 ]
+
+# 15:55:26 >
+# 15:55:26 > "Done."
+# 15:55:26 >
+
diff --git a/sql/backends/monet5/gsl/Tests/gsl01.sql
b/sql/backends/monet5/gsl/Tests/gsl01.sql
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/gsl/Tests/gsl01.sql
@@ -0,0 +1,1 @@
+SELECT gsl.chi2prob(20.0,5.0);
diff --git a/sql/backends/monet5/gsl/Tests/gsl01.stable.err
b/sql/backends/monet5/gsl/Tests/gsl01.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/gsl/Tests/gsl01.stable.err
@@ -0,0 +1,35 @@
+stderr of test 'gsl01` in directory 'sql/backends/monet5/gsl` itself:
+
+
+# 15:55:26 >
+# 15:55:26 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"mapi_open=true" "--set" "mapi_port=36073" "--set"
"mapi_usock=/var/tmp/mtest-19131/.s.monetdb.36073" "--set" "monet_prompt="
"--forcemito" "--set" "mal_listing=2"
"--dbpath=/export/scratch2/rijke/monetdb/default/var/MonetDB/mTests_sql_backends_monet5_gsl"
"--set" "mal_listing=0"
+# 15:55:26 >
+
+# builtin opt gdk_dbpath =
/export/scratch2/rijke/monetdb/default/var/monetdb5/dbfarm/demo
+# builtin opt gdk_debug = 0
+# builtin opt gdk_vmtrim = yes
+# builtin opt monet_prompt = >
+# builtin opt monet_daemon = no
+# builtin opt mapi_port = 50000
+# builtin opt mapi_open = false
+# builtin opt mapi_autosense = false
+# builtin opt sql_optimizer = default_pipe
+# builtin opt sql_debug = 0
+# cmdline opt gdk_nr_threads = 0
+# cmdline opt mapi_open = true
+# cmdline opt mapi_port = 36073
+# cmdline opt mapi_usock = /var/tmp/mtest-19131/.s.monetdb.36073
+# cmdline opt monet_prompt =
+# cmdline opt mal_listing = 2
+# cmdline opt gdk_dbpath =
/export/scratch2/rijke/monetdb/default/var/MonetDB/mTests_sql_backends_monet5_gsl
+# cmdline opt mal_listing = 0
+
+# 15:55:27 >
+# 15:55:27 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e"
"--host=/var/tmp/mtest-19131" "--port=36073"
+# 15:55:27 >
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list