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

Reply via email to