Re: [Monetdb-developers] [Monetdb-checkins] MonetDB5/src/modules/kernel batmmath.mx, Feb2009, NONE, 1.1.2.1 Makefile.ag, Feb2009, 1.74, 1.74.2.1 batmath.mx, Feb2009, 1.21, NONE
Sjoerd, could you please also fix the Windows installers accordingly, i.e., rename "batmath" into "batmmath" in MonetDB5/NT/MonetDB5-Server/MonetDB5-Server64.vdproj MonetDB5/NT/MonetDB5-Server/MonetDB5-Server.vdproj sql/NT/MonetDB5-SQL64/MonetDB5-SQL-Installer.vdproj sql/NT/MonetDB5-SQL/MonetDB5-SQL-Installer.vdproj Thanks! Stefan On Sat, Feb 14, 2009 at 05:20:25AM +0000, Martin Kersten wrote:
Update of /cvsroot/monetdb/MonetDB5/src/modules/kernel In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv17075/modules/kernel
Modified Files: Tag: Feb2009 Makefile.ag Added Files: Tag: Feb2009 batmmath.mx Removed Files: Tag: Feb2009 batmath.mx Log Message: Addressing bug 2596114 The multiplex mat functions were not found by the remap optimizer, because they did not obey the naming convention [bat]mmath. Given the performance impact of using MAL loops, this change in interface naming has been rectified over a specific hack in the remap optimizer itself.
U Makefile.ag Index: Makefile.ag =================================================================== RCS file: /cvsroot/monetdb/MonetDB5/src/modules/kernel/Makefile.ag,v retrieving revision 1.74 retrieving revision 1.74.2.1 diff -u -d -r1.74 -r1.74.2.1 --- Makefile.ag 7 Jan 2009 14:15:12 -0000 1.74 +++ Makefile.ag 14 Feb 2009 05:20:23 -0000 1.74.2.1 @@ -28,7 +28,7 @@ SOURCES = \ calc.mx bat5.mx algebra.mx status.mx unix.mx \ mmath.mx lock.mx sema.mx alarm.mx batifthen.mx \ - batcast.mx batcalc.mx batmath.mx aggr.mx counters.mx \ + batcast.mx batcalc.mx batmmath.mx aggr.mx counters.mx \ microbenchmark.mx
#SCRIPTS = mal mil "" @@ -103,7 +103,7 @@ SOURCES = \ calc.mx bat5.mx algebra.mx status.mx unix.mx \ mmath.mx lock.mx sema.mx alarm.mx batifthen.mx \ - batcast.mx batcalc.mx batmath.mx aggr.mx counters.mx \ + batcast.mx batcalc.mx batmmath.mx aggr.mx counters.mx \ microbenchmark.mx \ batstr.mx batmtime.mx batcolor.mx group.mx array.mx logger.mx HEADERS = h @@ -114,7 +114,7 @@ DIR = libdir/MonetDB5 SOURCES = calc.mx bat5.mx algebra.mx status.mx unix.mx \ mmath.mx lock.mx sema.mx alarm.mx batstr.mx batmtime.mx \ - batcolor.mx batifthen.mx batcast.mx batcalc.mx batmath.mx \ + batcolor.mx batifthen.mx batcast.mx batcalc.mx batmmath.mx \ group.mx aggr.mx array.mx \ counters.mx logger.mx microbenchmark.mx }
--- batmath.mx DELETED ---
--- NEW FILE: batmmath.mx --- @' 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-2009 MonetDB B.V. @' All Rights Reserved.
@f batmmath @a M.L. Kersten @+ BAT math calculator This module contains the multiplex versions of the linked in mathematical functions. @{ @= tstBat if( bn== NULL) {*ret= 0; throw(MAL, "batcalc.@1", "can not create bat");}
@+ Scientific routines The mmath functions are also overloaded to provide for the fast execution of expanded code blocks. The common set of math functions is supported. @= scienceFcn command @1(x:bat[:oid,:dbl]) :bat[:oid,:dbl] address CMDscience_bat_dbl_@1; command @1(x:bat[:oid,:flt]) :bat[:oid,:flt] address CMDscience_bat_flt_@1; @= scienceFcnBinary command @1(x:bat[:oid,:dbl],y:dbl):bat[:oid,:dbl] address CMDscience_bat_cst_@1_dbl; command @1(x:bat[:oid,:flt],y:flt):bat[:oid,:flt] address CMDscience_bat_cst_@1_flt; @- @mal module batmmath; @:scienceFcn(asin)@ @:scienceFcn(acos)@ @:scienceFcn(atan)@ @:scienceFcn(cos)@ @:scienceFcn(sin)@ @:scienceFcn(tan)@ @:scienceFcn(cosh)@ @:scienceFcn(sinh)@ @:scienceFcn(tanh)@ @:scienceFcn(exp)@ @:scienceFcn(log)@ @:scienceFcn(log10)@ @:scienceFcn(sqrt)@ @:scienceFcn(ceil)@ @:scienceFcn(fabs)@ @:scienceFcn(floor)@ @- round is not binary... @:scienceFcnBinary(round,int)@ @mal @:scienceFcnBinary(fmod)@ @:scienceFcnBinary(atan2)@ @:scienceFcnBinary(pow)@ @- Implementation @include kprelude.mx
@h #ifdef _BATMATH_H #define _BATMATH_H
#endif /* _BATMATH_H */ @- Implementations of scientific functions @c #include "mal_config.h" #include "gdk.h" #include "math.h" #include "mal_exception.h" #include "batmmath.h"
#ifdef WIN32 #ifndef LIBBATMATH #define batmmath_export extern __declspec(dllimport) #else #define batmmath_export extern __declspec(dllexport) #endif #else #define batmmath_export extern #endif
@- @= scienceFcnImpl batmmath_export str CMDscience_bat_@2_@1(int *ret, int *bid); str CMDscience_bat_@2_@1(int *ret, int *bid) { BAT *b,*bn; @2 *o, *p, *q;
@:getBATdescriptor(bid,b,"batcalc.@1")@ @:voidresultBAT(TYPE_dbl,"batcalc.@1")@
o = (@2*) Tloc(bn, BUNfirst(bn)); p = (@2*) Tloc(b, BUNfirst(b)); q = (@2*) Tloc(b, BUNlast(b));
if (b->T->nonil){ for(;p
tsorted = 0; BATkey(BATmirror(bn),0);if (!(bn->batDirty&2)) bn = BATsetaccess(bn, BAT_READ);
if (b->htype != bn->htype) { BAT *r = VIEWcreate(b,bn);
BBPreleaseref(bn->batCacheid); bn = r; } BBPkeepref(*ret = bn->batCacheid); BBPreleaseref(b->batCacheid); return MAL_SUCCEED; } @= scienceBinaryImpl batmmath_export str CMDscience_bat_cst_@1_@2(int *ret, int *bid, @2 *d); str CMDscience_bat_cst_@1_@2(int *ret, int *bid, @2 *d) { BAT *b,*bn; @2 *o, *p, *q;
@:getBATdescriptor(bid,b,"batcalc.@1")@ @:voidresultBAT(TYPE_dbl,"batcalc.@1")@
o = (@2*) Tloc(bn, BUNfirst(bn)); p = (@2*) Tloc(b, BUNfirst(b)); q = (@2*) Tloc(b, BUNlast(b));
if (b->T->nonil){ for(;p
BATsetcount(bn, BATcount(b)); bn->tsorted = 0; BATkey(BATmirror(bn),0);
if (!(bn->batDirty&2)) bn = BATsetaccess(bn, BAT_READ);
if (b->htype != bn->htype) { BAT *r = VIEWcreate(b,bn);
BBPreleaseref(bn->batCacheid); bn = r; } BBPkeepref(*ret = bn->batCacheid); BBPreleaseref(b->batCacheid); return MAL_SUCCEED; } @= scienceImpl @:scienceFcnImpl(@1,dbl)@ @:scienceFcnImpl(@1,flt)@ @c @:scienceImpl(asin)@ @:scienceImpl(acos)@ @:scienceImpl(atan)@ @:scienceImpl(cos)@ @:scienceImpl(sin)@ @:scienceImpl(tan)@ @:scienceImpl(cosh)@ @:scienceImpl(sinh)@ @:scienceImpl(tanh)@ @:scienceImpl(exp)@ @:scienceImpl(log)@ @:scienceImpl(log10)@ @:scienceImpl(sqrt)@ @:scienceImpl(ceil)@ @:scienceImpl(fabs)@ @:scienceImpl(floor)@ @- round is not binary... @:scienceBinaryImpl(round,int)@ @c @:scienceBinaryImpl(fmod,dbl)@ @:scienceBinaryImpl(fmod,flt)@ @:scienceBinaryImpl(atan2,dbl)@ @:scienceBinaryImpl(atan2,flt)@ @:scienceBinaryImpl(pow,dbl)@ @:scienceBinaryImpl(pow,flt)@
@}
------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Monetdb-checkins mailing list Monetdb-checkins@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-checkins
-- | Dr. Stefan Manegold | mailto:Stefan.Manegold@cwi.nl | | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | | The Netherlands | Fax : +31 (20) 592-4312 |
participants (1)
-
Stefan Manegold