Martin Kersten wrote:
> Update of /cvsroot/monetdb/MonetDB5/src/modules/kernel
> In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv28642
>
> Modified Files:
> algebra.mx bat5.mx mmath.mx
> Log Message:
> Move all signatures to the .h section to ease compilation of
> programs using the interface directly. More files to do.
>
>
> Index: mmath.mx
> ===================================================================
> RCS file: /cvsroot/monetdb/MonetDB5/src/modules/kernel/mmath.mx,v
> retrieving revision 1.35
> retrieving revision 1.36
> diff -u -d -r1.35 -r1.36
> --- mmath.mx 13 Sep 2007 13:45:13 -0000 1.35
> +++ mmath.mx 14 Oct 2007 08:41:47 -0000 1.36
> @@ -206,16 +206,9 @@
> @h
> #ifndef __MMATH_H__
> #define __MMATH_H__
> -
> -#include <gdk.h>
> -
> -#endif /* __MMATH_H__ */
> -
> [EMAIL PROTECTED] Implementation Code
> [EMAIL PROTECTED]
> #include "mal_config.h"
> -
> -#include "mmath.h"
> +#include "mal.h"
> +#include "mal_exception.h"
> #include <math.h>
>
> extern double sqrt(double x);
> @@ -234,29 +227,6 @@
> #define mmath_export extern
> #endif
>
> -#define acos_unary(x, z) *z = acos(*x)
> -#define asin_unary(x, z) *z = asin(*x)
> -#define atan_unary(x, z) *z = atan(*x)
> -#define atan2_binary(x, y, z) *z = atan2(*x,*y)
> -#define cos_unary(x, z) *z = cos(*x)
> -#define sin_unary(x, z) *z = sin(*x)
> -#define tan_unary(x, z) *z = tan(*x)
> -
> -#define cosh_unary(x, z) *z = cosh(*x)
> -#define sinh_unary(x, z) *z = sinh(*x)
> -#define tanh_unary(x, z) *z = tanh(*x)
> -
> -#define exp_unary(x, z) *z = exp(*x)
> -#define log_unary(x, z) *z = log(*x)
> -#define log10_unary(x, z) *z = log10(*x)
> -
> -#define pow_binary(x, y, z) *z = pow(*x,*y)
> -#define sqrt_unary(x, z) *z = sqrt(*x)
> -
> -#define ceil_unary(x, z) *z = ((-1.0<*x)&&(*x<0.0))?0.0:ceil(*x)
> -#define fabs_unary(x, z) *z = fabs(*x)
> -#define floor_unary(x, z) *z = floor(*x)
> -#define fmod_binary(x, y, z) *z = fmod(*x,*y)
>
> #ifdef _MSC_VER
> #include <float.h>
> @@ -306,11 +276,78 @@
> #endif /* HAVE_ISINF */
> #endif /* HAVE_FPCLASSIFY */
>
> -#include "mal.h"
> -#include "mal_exception.h"
> -mmath_export str math_unary_FINITE(bit *res, dbl *a);
> -mmath_export str math_unary_ISNAN(bit *res, dbl *a);
> -mmath_export str math_unary_ISINF(int *res, dbl *a);
> +#define acos_unary(x, z) *z = acos(*x)
> +#define asin_unary(x, z) *z = asin(*x)
> +#define atan_unary(x, z) *z = atan(*x)
> +#define atan2_binary(x, y, z) *z = atan2(*x,*y)
> +#define cos_unary(x, z) *z = cos(*x)
> +#define sin_unary(x, z) *z = sin(*x)
> +#define tan_unary(x, z) *z = tan(*x)
> +
> +#define cosh_unary(x, z) *z = cosh(*x)
> +#define sinh_unary(x, z) *z = sinh(*x)
> +#define tanh_unary(x, z) *z = tanh(*x)
> +
> +#define exp_unary(x, z) *z = exp(*x)
> +#define log_unary(x, z) *z = log(*x)
> +#define log10_unary(x, z) *z = log10(*x)
> +
> +#define pow_binary(x, y, z) *z = pow(*x,*y)
> +#define sqrt_unary(x, z) *z = sqrt(*x)
> +
> +#define ceil_unary(x, z) *z = ((-1.0<*x)&&(*x<0.0))?0.0:ceil(*x)
> +#define fabs_unary(x, z) *z = fabs(*x)
> +#define floor_unary(x, z) *z = floor(*x)
> +#define fmod_binary(x, y, z) *z = fmod(*x,*y)
> +
> [EMAIL PROTECTED] unopbaseM5_export
> +mmath_export str [EMAIL PROTECTED]@3(@3 *res , @3 *a );
> [EMAIL PROTECTED] unopM5_export
> + @:unopbaseM5_export(@1,@2,dbl)@
> + @:unopbaseM5_export(@1,@2,flt)@
> [EMAIL PROTECTED] binopbaseM5_export
> +mmath_export str [EMAIL PROTECTED]@3(@3 *res, @3 *a, @3 *b );
> [EMAIL PROTECTED] binopM5_export
> + @:binopbaseM5_export(@1,@2,dbl)@
> + @:binopbaseM5_export(@1,@2,flt)@
> +
> [EMAIL PROTECTED]
> +@:unopM5_export(_ACOS,acos)@
> +@:unopM5_export(_ASIN,asin)@
> +@:unopM5_export(_ATAN,atan)@
> +@:binopM5_export(_ATAN2,atan2)@
> +@:unopM5_export(_COS,cos)@
> +@:unopM5_export(_SIN,sin)@
> +@:unopM5_export(_TAN,tan)@
> +
> +@:unopM5_export(_COSH,cosh)@
> +@:unopM5_export(_SINH,sinh)@
> +@:unopM5_export(_TANH,tanh)@
> +
> +@:unopM5_export(_EXP,exp)@
> +@:unopM5_export(_LOG,log)@
> +@:unopM5_export(_LOG10,log10)@
> +
> +@:binopM5_export(_POW,pow)@
> +@:unopM5_export(_SQRT,sqrt)@
> +
> +@:unopM5_export(_CEIL,ceil)@
> +@:unopbaseM5_export(_FABS,fabs,dbl)@
> +@:unopM5_export(_FLOOR,floor)@
> +@:binopM5_export(_FMOD,fmod)@
> +
> +
> +mmath_export str MATHunary_ISNAN(bit *res, dbl *a);
> +mmath_export str MATHunary_ISINF(int *res, dbl *a);
> +mmath_export str MATHunary_FINITE(bit *res, dbl *a);
> +mmath_export str MATHrandint(int *res);
> +mmath_export str MATHsrandint(int *seed);
> +mmath_export str MATHpi(dbl *pi);
> +#endif /* __MMATH_H__ */
> +
> [EMAIL PROTECTED] Implementation Code
> [EMAIL PROTECTED]
> +#include "mmath.h"
>
> @:unop(_ACOS,acos)@
> @:unop(_ASIN,asin)@
> @@ -375,7 +412,6 @@
> }
> return MAL_SUCCEED;
> }
> -@
>
> @c
> str
> @@ -453,7 +489,6 @@
> Wrapping around the M4 code base
> @-
> @= unopbaseM5
> -mmath_export str [EMAIL PROTECTED]@3(@3 *res , @3 *a );
> str [EMAIL PROTECTED]@3(@3 *res , @3 *a ) {
> #ifdef DEBUG
> printf( "[EMAIL PROTECTED]@3\n");
> @@ -476,7 +511,6 @@
> @:unopbaseM5(@1,@2,flt)@
>
> @= binopbaseM5
> -mmath_export str [EMAIL PROTECTED]@3(@3 *res, @3 *a, @3 *b );
> str [EMAIL PROTECTED]@3(@3 *res, @3 *a, @3 *b ) {
> #ifdef DEBUG
> printf( "[EMAIL PROTECTED]");
> @@ -495,7 +529,6 @@
> @:binopbaseM5(@1,@2,flt)@
> @
> @= roundM5
> -mmath_export str [EMAIL PROTECTED](@1 *res, @1 *x, int *y);
> str [EMAIL PROTECTED](@1 *res, @1 *x, int *y) {
If you remove the export, you will break the compilation on windows.
Maybe the following Mserver5 start can tell you which functions should
be exported, but unfortunately they aren't. ;)
E:\MonetDB\Current\sql\NT>RunMserver5.bat
> # MonetDB server v5.3.0, based on kernel v1.21.0
> # Serving database 'demo'
> # Compiled for i686-pc-win32/32bit with 32bit OIDs dynamically linked
> # Copyright (c) 1993-2007 CWI, all rights reserved
> # Visit http://monetdb.cwi.nl/ for further information
> #warning: please don't forget to set your vault key!
> #(see E:\MonetDB\Current\MonetDB5\NT\etc\monetdb5.conf)
> !MALException:MAL.getAddress:address of 'mmath.MATHbinary_ROUNDflt' not
> found
> !MALException:MAL.getAddress:address of 'mmath.MATHbinary_ROUNDdbl' not
> found
> !MALException:MAL.getAddress:address of 'mmath.math_unary_ISNAN' not
found
> !MALException:MAL.getAddress:address of 'mmath.math_unary_ISINF' not
found
> !MALException:MAL.getAddress:address of 'mmath.math_unary_FINITE' not
found
> !MALException:MAL.getAddress:address of 'algebra.ALGselectNotNil' not
found
> !MALException:MAL.getAddress:address of 'algebra.ALGuhashsplit' not found
> !MALException:MAL.getAddress:address of 'group.GRPmin' not found
> !MALException:MAL.getAddress:address of 'group.GRPmax' not found
> # Listening for connection requests on mapi:monetdb://127.0.0.1:50000/
> > >\q
Regards,
Romulo
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins