Changeset: ed8f9271053a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ed8f9271053a
Added Files:
sql/backends/monet5/sql_aggr_dbl.mal
Modified Files:
sql/backends/monet5/Makefile.ag
sql/backends/monet5/sql.mal
Branch: default
Log Message:
Added missing file
diffs (78 lines):
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
@@ -98,7 +98,7 @@ lib__sql = {
headers_mal = {
HEADERS = mal
DIR = libdir/monetdb5
- SOURCES = sql_aggr_bte.mal sql_aggr_flt.mal sql_aggr_int.mal
sql_aggr_lng.mal \
+ SOURCES = sql_aggr_bte.mal sql_aggr_flt.mal sql_aggr_dbl.mal
sql_aggr_int.mal sql_aggr_lng.mal \
sql_aggr_sht.mal sql_aggr_wrd.mal sql_decimal.mal
sql_inspect.mal \
sql_rank.mal sql_rdf.mal sql_sort.mal sql.mal sql_octopus.mal
}
diff --git a/sql/backends/monet5/sql.mal b/sql/backends/monet5/sql.mal
--- a/sql/backends/monet5/sql.mal
+++ b/sql/backends/monet5/sql.mal
@@ -1036,7 +1036,7 @@ comment "cast date to a timestamp and ch
include sql_decimal;
include sql_rank;
-include sql_cast;
+#include sql_cast;
include sql_aggr_bte;
include sql_aggr_sht;
include sql_aggr_int;
diff --git a/sql/backends/monet5/sql_aggr_dbl.mal
b/sql/backends/monet5/sql_aggr_dbl.mal
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/sql_aggr_dbl.mal
@@ -0,0 +1,49 @@
+function aggr.covar(e1:bat[:oid,:dbl], e2:bat[:oid,:dbl]):dbl;
+ e0:bat[:oid,:dbl] := batcalc.*(e1,e2);
+ s0:dbl := aggr.sum(e0);
+ s1:dbl := aggr.sum(e1);
+ s2:dbl := aggr.sum(e2);
+ v2:dbl := calc.*(s1,s2);
+ c := aggr.count(e1);
+ n:dbl := calc.dbl(c);
+ v3:dbl := calc./(v2,n);
+ v1:dbl := calc.-(s0,v3);
+ v:dbl := calc./(v1,n);
+ return v;
+end aggr.covar;
+
+function aggr.corr(e1:bat[:oid,:dbl], e2:bat[:oid,:dbl]):dbl;
+ cv:dbl := aggr.covar(e1,e2);
+ sd1 := aggr.stdev(e1);
+ sd2 := aggr.stdev(e2);
+ sd := calc.*(sd1,sd2);
+ r := calc./(cv,sd);
+ res := calc.dbl(r);
+ return res;
+end aggr.corr;
+
+function aggr.covar(e1:bat[:oid,:dbl], e2:bat[:oid,:dbl], g:bat[:oid,:oid],
e:bat[:oid,:any_2]):bat[:oid,:dbl];
+ e0:bat[:oid,:dbl] := batcalc.*(e1,e2);
+ s0:bat[:oid,:dbl] := aggr.sum(e0,g,e);
+ s1:bat[:oid,:dbl] := aggr.sum(e1,g,e);
+ s2:bat[:oid,:dbl] := aggr.sum(e2,g,e);
+ v2:bat[:oid,:dbl] := batcalc.*(s1,s2);
+ c := aggr.count(e1,g,e);
+ n:bat[:oid,:dbl] := batcalc.dbl(c);
+ v3:bat[:oid,:dbl] := batcalc./(v2,n);
+ v1:bat[:oid,:dbl] := batcalc.-(s0,v3);
+ v:bat[:oid,:dbl] := batcalc./(v1,n);
+ return v;
+end aggr.covar;
+
+function aggr.corr(e1:bat[:oid,:dbl], e2:bat[:oid,:dbl],
g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:dbl];
+ cv:bat[:oid,:dbl] := aggr.covar(e1,e2,g,e);
+ sd1 := aggr.stdevp(e1,g,e);
+ sd2 := aggr.stdevp(e2,g,e);
+ sd := batcalc.*(sd1,sd2);
+ sdn := batcalc.==(sd,0:dbl);
+ sds := batcalc.ifthenelse(sdn,1:dbl,sd);
+ r := batcalc./(cv,sds);
+ res := batcalc.dbl(r);
+ return res;
+end aggr.corr;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list