Changeset: 176f877dfb64 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=176f877dfb64
Modified Files:
sql/backends/monet5/generator/generator.c
Branch: generator
Log Message:
VLTgenerator_thetasubselect(): use type-specific abs() function
diffs (40 lines):
diff --git a/sql/backends/monet5/generator/generator.c
b/sql/backends/monet5/generator/generator.c
--- a/sql/backends/monet5/generator/generator.c
+++ b/sql/backends/monet5/generator/generator.c
@@ -575,7 +575,7 @@ VLTgenerator_subselect(Client cntxt, Mal
}
-#define VLTthetasubselect(TPE) {\
+#define VLTthetasubselect(TPE,ABS) {\
TPE f,l,s, low, hgh;\
BUN j; oid *v;\
f = *(TPE*) getArgReference(stk,p, 1);\
@@ -583,7 +583,7 @@ VLTgenerator_subselect(Client cntxt, Mal
s = pci->argc == 3 ? 1: *(TPE*) getArgReference(stk,p, 3);\
if( s == 0 || (f<l && s < 0) || (f>l && s> 0)) \
throw(MAL,"generator.thetasubselect","Illegal range");\
- cap = (BUN)((lng)l-(lng)f)/abs(s);\
+ cap = (BUN)((lng)l-(lng)f)/ABS(s);\
bn = BATnew(TYPE_void, TYPE_oid, cap);\
if( bn == NULL)\
throw(MAL,"generator.thetasubselect",MAL_MALLOC_FAIL);\
@@ -646,12 +646,12 @@ str VLTgenerator_thetasubselect(Client c
// check the step direction
switch( tpe =getArgType(mb,pci,idx)){
- case TYPE_bte: VLTthetasubselect(bte);break;
- case TYPE_int: VLTthetasubselect(int);break;
- case TYPE_sht: VLTthetasubselect(sht);break;
- case TYPE_lng: VLTthetasubselect(lng);break;
- case TYPE_flt: VLTthetasubselect(flt);break;
- case TYPE_dbl: VLTthetasubselect(dbl);break;
+ case TYPE_bte: VLTthetasubselect(bte,abs);break;
+ case TYPE_int: VLTthetasubselect(int,abs);break;
+ case TYPE_sht: VLTthetasubselect(sht,abs);break;
+ case TYPE_lng: VLTthetasubselect(lng,llabs);break;
+ case TYPE_flt: VLTthetasubselect(flt,fabsf);break;
+ case TYPE_dbl: VLTthetasubselect(dbl,fabs);break;
default:
if ( tpe == TYPE_timestamp){
timestamp f,l, low, hgh;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list