Changeset: 2def3434412a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2def3434412a
Modified Files:
monetdb5/modules/kernel/Makefile.ag
monetdb5/modules/kernel/calc.c.mx
monetdb5/modules/kernel/calc.h.mx
monetdb5/modules/kernel/calc.mal.mx
monetdb5/modules/kernel/calc.mx
monetdb5/modules/kernel/colcalc.c.mx
monetdb5/modules/kernel/colifthen.c.mx
monetdb5/modules/kernel/colifthen.h.mx
monetdb5/modules/kernel/colifthen.mal.mx
monetdb5/modules/kernel/colifthen.mx
monetdb5/modules/kernel/colmmath.c.mx
monetdb5/modules/kernel/colmmath.h.mx
monetdb5/modules/kernel/colmmath.mal.mx
monetdb5/modules/kernel/colmmath.mx
monetdb5/modules/kernel/colmtime.c.mx
monetdb5/modules/kernel/colmtime.h.mx
monetdb5/modules/kernel/colmtime.mal.mx
monetdb5/modules/kernel/colmtime.mx
monetdb5/modules/kernel/colstr.c
monetdb5/modules/kernel/colstr.h
monetdb5/modules/kernel/colstr.mal
monetdb5/modules/kernel/colstr.mx
monetdb5/modules/kernel/column.c.mx
monetdb5/modules/kernel/column.mx
monetdb5/modules/kernel/mmath.c.mx
monetdb5/modules/kernel/mmath.h.mx
monetdb5/modules/kernel/mmath.mal.mx
monetdb5/modules/kernel/mmath.mx
monetdb5/modules/mal/tablet.c
sql/backends/monet5/sql.mx
sql/backends/monet5/sql_result.mx
Branch: headless
Log Message:
Losts of changes, but change to compile yet.
diffs (truncated from 8280 to 300 lines):
diff --git a/monetdb5/modules/kernel/Makefile.ag
b/monetdb5/modules/kernel/Makefile.ag
--- a/monetdb5/modules/kernel/Makefile.ag
+++ b/monetdb5/modules/kernel/Makefile.ag
@@ -38,30 +38,34 @@
# aggr_bge_prod.mx \
# aggr_bge_sum.mx \
# aggr.mx \
-# alarm.mx \
+ alarm.h.mx \
+ alarm.mal.mx \
# algebra.mx \
# array.mx \
-# column.mx \
- colcalc.mal.mx \
+ column.h.mx \
+ column.c.mx \
colcalc.h.mx \
colcalc.c.mx \
- colcast.mal.mx \
colcast.h.mx \
colcast.c.mx \
- colcolor.mal.mx \
colcolor.h.mx \
colcolor.c.mx \
-# colifthen.mx \
-# colmmath.mx \
-# colmtime.mx \
-# colstr.mx \
-# calc.mx \
-# counters.mx \
+ colifthen.h.mx \
+ colifthen.c.mx \
+ colmmath.h.mx \
+ colmmath.c.mx \
+ colmtime.h.mx \
+ colmtime.c.mx \
+ colstr.c \
+ calc.h.mx \
+ calc.c.mx \
# group.mx \
lock.c \
logger.c \
-# microbenchmark.mx \
-# mmath.mx \
+ microbenchmark.h.mx \
+ microbenchmark.c.mx \
+ mmath.h.mx \
+ mmath.c.mx \
sema.c \
status.c \
unix.c
@@ -70,13 +74,29 @@
headers_mal = {
HEADERS = mal
DIR = libdir/monetdb5
- SOURCES = calc.mx column.mx algebra.mx status.mal unix.mal \
- mmath.mx lock.mal sema.mal alarm.mx colstr.mx colmtime.mx \
- colcolor.mal.mx colifthen.mx colcast.mal.mx colcalc.mal.mx
colmmath.mx \
- group.mx aggr.mx array.mx \
- mx logger.mal microbenchmark.mx
+ SOURCES = calc.mal.mx \
+ aggr.mx \
+ alarm.mal.mx \
+ algebra.mx \
+ array.mx \
+ colcolor.mal.mx \
+ colcast.mal.mx \
+ colcalc.mal.mx \
+ colifthen.mal.mx \
+ colmmath.mal.mx \
+ colmtime.mal.mx \
+ colstr.mal \
+ column.mal.mx \
+ group.mx \
+ lock.mal \
+ logger.mal \
+ microbenchmark.mal.mx \
+ mmath.mal.mx \
+ sema.mal \
+ status.mal \
+ unix.mal
}
-EXTRA_DIST = aggr_ri.mx kprelude.mx lock.mal lock.h sema.mal unix.mal alarm.h
logger.mal microbenchmark.mal microbenchmark.h
+EXTRA_DIST = aggr_ri.mx lock.mal lock.h sema.mal unix.mal alarm.h logger.mal
microbenchmark.mal microbenchmark.h
EXTRA_DIST_DIR = Tests
diff --git a/monetdb5/modules/kernel/calc.mx b/monetdb5/modules/kernel/calc.c.mx
rename from monetdb5/modules/kernel/calc.mx
rename to monetdb5/modules/kernel/calc.c.mx
--- a/monetdb5/modules/kernel/calc.mx
+++ b/monetdb5/modules/kernel/calc.c.mx
@@ -1,558 +1,25 @@
-@/
-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://monetdb.cwi.nl/Legal/MonetDBLicense-1.1.html
-
-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-2011 MonetDB B.V.
-All Rights Reserved.
-@
+/*
+ * 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://monetdb.cwi.nl/Legal/MonetDBLicense-1.1.html
+ *
+ * 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-2011 MonetDB B.V.
+ * All Rights Reserved.
+*/
@f calc
-@a N.J. Nes, P. Boncz, M. Kersten, A. de Vries
-@v 2.0
-@+ Basic arithmetic
-This module is an extended version of the V4 arithmetic module.
-It implements the arithmetic operations on the built-in types,
-@emph{chr}, @emph{bte}, @emph{sht}, @emph{int}, @emph{flt}, @emph{dbl} and
@emph{lng}.
-All combinations are implemented. Limited combinations are implemented
-for @emph{bit}, @emph{oid} and @emph{str}.
-
-@table @code
-@item [binary operators]
-The implemented operators are first of all all comparison that return a
-TRUE/FALSE value (@emph{bit} values), i.e.
-@emph{<=}, @emph{<}, @emph{==}, @emph{!=}, @emph{>=}, and @emph{>=}.
-
-The module also implements the operators @emph{+}, @emph{-}, @emph{*} and
@emph{/}.
-The rules for the return types operators is as follows.
-If one of the input types is a floating point the result will be a
-floating point. The largest type of the input types is taken.
-
-The @emph{max} and @emph{min} functions return the maximum and minimum of
-the two input parameters.
-
-@item [unary operators]
-This module also implements the unary @emph{abs}() function, which calculates
-the absolute value of the given input parameter, as well as the @emph{-} unary
-operator.
-
-The @emph{inv} unary operation calculates the inverse of the input value.
-An error message is given when the input value is zero.
-
-@item [bitwise operators]
-For integers there are some additional operations. The @emph{%} operator
-implements the congruent modulo operation. The @emph{<<} and @emph{>>}
-are the left and right bit shift. The @emph{or}, @emph{and}, @emph{xor} and
-@emph{not} for integers are implemented as bitwise boolean operations.
-
-@item [boolean operators]
-The @emph{or}, @emph{and}, @emph{xor} and @emph{not} for the bit atomic type
-in MIL (this corresponds to what is normally called boolean)
-are implemented as the logic operations.
-
-@item [random numbers]
-This module also contains the rand and srand functions. The @emph{srand}()
-function initializes the random number generator using a seed value. The
-subsequent calls to @emph{rand}() are pseudo random numbers (with the same
-seed the sequence can be repeated).
-@end table
-
-The general interpretation for the NIL value is "unknown".
-This semantics mean that any operation that receives at least one NIL
-value, will produce a NIL value in the output for sure.
-
-The only exception to this rule are the "==" and "!=" equality
-test routines (it would otherwise become rather difficult to test
-whether a value is nil).
-
-@{
-The collection of type conversion routines are included here as well.
-
-The definitions shown are limited to the Mx macros.
-This should be sufficient to understand the functionality
-at the cost of precision.
-In most situations the macros are expanded using the
-built-in type set (int,lng,sht,bit,oid,flt,...)
-@= mal_isnil
- command isnil(v:@1) :bit
- address CALCisnil_@1
- comment "is a value nil?";
- command isnotnil(v:@1) :bit
- address CALCisnotnil_@1
- comment "is a value not equal to nil?";
-@-
-[Mx bug, space required here]
-
-@mal
-module calc;
-
- @:mal_isnil(bit)@
- @:mal_isnil(chr)@
- @:mal_isnil(bte)@
- @:mal_isnil(sht)@
- @:mal_isnil(int)@
- @:mal_isnil(oid)@
- @:mal_isnil(wrd)@
- @:mal_isnil(lng)@
- @:mal_isnil(flt)@
- @:mal_isnil(dbl)@
- @:mal_isnil(str)@
-command isnil(v:void) :bit
-address CALCisnil_void
-comment "is a value nil?";
-command isnotnil(v:void) :bit
-address CALCisnotnil_void
-comment "is a value not equal to nil?";
-@+ Comparison operations
-The @emph{eq_ops} and @emph{cmp_ops} Mx macro implements the interface to the
-arithmetic comparisons. Note that comparison operators with different
-operand types are already supported in the kernel, but are not nearly as fast,
-(because they have to convert values on the fly).
-The code expansion is organized such that
-the least interesting one is pushed onto the symbol table stack first.
-
-@= eq_ops
- command ==(left:@1, right:@2) :bit
- address CALCcompEQ@1@2;
- command !=(left:@1, right:@2) :bit
- address CALCcompNEQ@1@2;
-@= cmp_ops
- @:eq_ops(@1,@2)@
-
- command <(left:@1, right:@2) :bit
- address CALCcompLT@1@2;
- command <=(left:@1, right:@2) :bit
- address CALCcompLE@1@2;
- command >=(left:@1, right:@2) :bit
- address CALCcompGE@1@2;
- command >(left:@1, right:@2) :bit
- address CALCcompGT@1@2;
- command between(val:@1, low:@1, high:@1) :bit
- address CALCcompBetween@1;
-@mal
-
- @:cmp_ops(oid,oid)@
- @:cmp_ops(flt,flt)@
- @:cmp_ops(flt,dbl)@
- @:cmp_ops(dbl,dbl)@
-
- @:eq_ops(bit,bit)@
- @:eq_ops(bit,chr)@
- @:eq_ops(bit,bte)@
- @:eq_ops(bit,sht)@
- @:eq_ops(bit,int)@
- @:eq_ops(bit,lng)@
-
- @:cmp_ops(chr,chr)@
- @:cmp_ops(chr,bte)@
- @:cmp_ops(chr,sht)@
- @:cmp_ops(chr,int)@
- @:cmp_ops(chr,wrd)@
- @:cmp_ops(chr,lng)@
-
- @:cmp_ops(bte,chr)@
- @:cmp_ops(bte,bte)@
- @:cmp_ops(bte,sht)@
- @:cmp_ops(bte,int)@
- @:cmp_ops(bte,wrd)@
- @:cmp_ops(bte,lng)@
-
- @:cmp_ops(sht,chr)@
- @:cmp_ops(sht,bte)@
- @:cmp_ops(sht,sht)@
- @:cmp_ops(sht,wrd)@
- @:cmp_ops(sht,int)@
- @:cmp_ops(sht,lng)@
-
- @:cmp_ops(wrd,chr)@
- @:cmp_ops(wrd,bte)@
- @:cmp_ops(wrd,sht)@
- @:cmp_ops(wrd,wrd)@
- @:cmp_ops(wrd,int)@
- @:cmp_ops(wrd,lng)@
-
- @:cmp_ops(int,chr)@
- @:cmp_ops(int,wrd)@
- @:cmp_ops(int,bte)@
- @:cmp_ops(int,sht)@
- @:cmp_ops(int,int)@
- @:cmp_ops(int,lng)@
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list