Changeset: b5fccf1949f3 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b5fccf1949f3
Modified Files:
        monetdb5/extras/crackers/crackers.mx
        monetdb5/extras/crackers/crackers_holistic.c
        monetdb5/extras/crackers/crackers_holistic.h
        monetdb5/extras/crackers/crackers_selecthol_ops.mx
Branch: holindex
Log Message:

Compilation errors fix.


diffs (206 lines):

diff --git a/monetdb5/extras/crackers/crackers.mx 
b/monetdb5/extras/crackers/crackers.mx
--- a/monetdb5/extras/crackers/crackers.mx
+++ b/monetdb5/extras/crackers/crackers.mx
@@ -280,15 +280,11 @@ address CRKthetaselecthol_@2
 comment "Retrieve the subset using a cracker
         index producing preferably a BATview.";
 
-command initFrequencyStruct(b:bat[:any_1,:@2]):void
-address CRKinitFrequencyStruct_@2
+@
+command initFrequencyStruct(b:bat[:any,:any]):void
+address CRKinitFrequencyStruct
 comment "Initialize the struct(lifo) with zero values.";
 
-command selectNode(l:int,h:int):void
-address CRKselectNode
-comment "Select node/BAT to crack (randomly).";
-
-@
 @= Index
 command printCrackerIndexBATpart(b:bat[:any_1,:@2]):void
 address CRKprintCrackerIndexBATpart
diff --git a/monetdb5/extras/crackers/crackers_holistic.c 
b/monetdb5/extras/crackers/crackers_holistic.c
--- a/monetdb5/extras/crackers/crackers_holistic.c
+++ b/monetdb5/extras/crackers/crackers_holistic.c
@@ -12,7 +12,7 @@ existsFrequencyStruct(FrequencyNode* hea
                return 1;
 }
 FrequencyNode* 
-createFrequencyStruct()
+createFrequencyStruct(void)
 {
        FrequencyNode *x;
        x=(FrequencyNode *) GDKmalloc(sizeof(FrequencyNode)); 
@@ -70,6 +70,26 @@ searchBAT(FrequencyNode* head,int bat_id
        }
        return temp;
 }
+int
+findMax(FrequencyNode* head)
+{
+       FrequencyNode* temp;
+       double tmpW;
+       int bat;
+       temp=head->next;
+       tmpW=temp->weight;
+       bat=temp->bid;
+       while(temp!=NULL)
+       {
+               if(temp->weight > tmpW)
+               {
+                       tmpW=temp->weight;
+                       bat=temp->bid;
+               }
+               temp=temp->next;
+       }
+       return bat;
+}
 double
 changeWeight(FrequencyNode* node,int N,int L1)
 {
@@ -79,8 +99,9 @@ changeWeight(FrequencyNode* node,int N,i
        p = 2 * (node->c);
        Sp =((double)N)/p;      
        d = ABS(Sp - L1);
+       fprintf(stderr,"p=%d Sp=%lf d=%lf\n",p,Sp,d);
        node->weight = ((node->f2)/(node->f1)) * d;
-
+       fprintf(stderr,"W=%lf\n",node->weight);
        return node->weight;
 
 }
diff --git a/monetdb5/extras/crackers/crackers_holistic.h 
b/monetdb5/extras/crackers/crackers_holistic.h
--- a/monetdb5/extras/crackers/crackers_holistic.h
+++ b/monetdb5/extras/crackers/crackers_holistic.h
@@ -1,22 +1,37 @@
 #ifndef _CRACKERS_HOLISTIC_H_
 #define _CRACKERS_HOLISTIC_H_
 
+
+
+#ifdef WIN32
+#ifndef LIBCRACKERS
+#define holistic_export extern __declspec(dllimport)
+#else
+#define holistic_export extern __declspec(dllexport)
+#endif
+#else
+#define holistic_export extern
+#endif
+
+
 typedef struct frequency{
 
        int             bid;            /* The base BAT */
-
        int             c;              /*number of times the column was 
cracked*/
        int             f1;             /*number of queries that triggered 
cracking*/
        int             f2;             /*number of queries that did not 
trigger cracking(because the value already existed in the index)*/
        double          weight;
        struct frequency *next;
+
 }FrequencyNode;
 
-int existsFrequencyStruct(FrequencyNode* head);
-FrequencyNode* createFrequencyStruct();
-FrequencyNode* push(int bat_id,FrequencyNode* head);
-FrequencyNode* pop(FrequencyNode* head);
-void printFrequencyStruct(FrequencyNode* head);
-FrequencyNode* searchBAT(FrequencyNode* head,int bat_id);
-double changeWeight(FrequencyNode* node,int N,int L1);
+holistic_export int existsFrequencyStruct(FrequencyNode* head);
+holistic_export FrequencyNode* createFrequencyStruct(void);
+holistic_export FrequencyNode* push(int bat_id,FrequencyNode* head);
+holistic_export FrequencyNode* pop(FrequencyNode* head);
+holistic_export void printFrequencyStruct(FrequencyNode* head);
+holistic_export FrequencyNode* searchBAT(FrequencyNode* head,int bat_id);
+holistic_export double changeWeight(FrequencyNode* node,int N,int L1);
+holistic_export int findMax(FrequencyNode* head);
+
 #endif /*crackers_holistic*/ 
diff --git a/monetdb5/extras/crackers/crackers_selecthol_ops.mx 
b/monetdb5/extras/crackers/crackers_selecthol_ops.mx
--- a/monetdb5/extras/crackers/crackers_selecthol_ops.mx
+++ b/monetdb5/extras/crackers/crackers_selecthol_ops.mx
@@ -63,8 +63,9 @@ crackers_export str CRKselecthol_@1(int 
 crackers_export str CRKuselecthol_@1(int *vid, int *bid, @1 *low, @1 *hgh);
 crackers_export str CRKthetaselecthol_@1(int *vid, int *bid, @1 *val, str *op);
 crackers_export str CRKthetauselecthol_@1(int *vid, int *bid, @1 *val, str 
*op);
-crackers_export str CRKinitFrequencyStruct_@1(int *vid,int *bid);
 @
+crackers_export str CRKinitFrequencyStruct(int *vid,int *bid);
+
 @c
 /*
  * @+ Implementation
@@ -214,9 +215,15 @@ CRKthetauselecthol_@1(int *vid, int *bid
 
        return CRKuselectholBounds_@1(vid, bid, low, high, &lin, &rin);
 }
+
+
+@
+
 str 
 CRKinitFrequencyStruct_@1(int *vid,int *bid)
 {
+       FrequencyNode* new_node;
+
        fprintf(stderr,"BAT_ID=%d\n",*bid);
        if (FrequencyStruct == NULL)
        {
@@ -225,15 +232,12 @@ CRKinitFrequencyStruct_@1(int *vid,int *
                
        }
        
-       FrequencyNode* new_node;
        new_node=push(*bid,FrequencyStruct);
         fprintf(stderr,"Bid=%d c=%d f1=%d f2=%d weight=%lf 
\n",new_node->bid,new_node->c,new_node->f1,new_node->f2,new_node->weight);
 
        return MAL_SUCCEED;
 }
 
-
-@
  * @- Local support functions and macros
 
 @= crkThreeTree
@@ -323,20 +327,18 @@ createView:
        
        int countBatElements;
        int L1=3072; /*KiloBytes*/
-       
+       int maxWB=0;
+
+       /*k and randomoid are used for DD1R*/
+       @1 k,temp_h;
 
        FrequencyNode* FN;
        FN=searchBAT(FrequencyStruct,*bid);
        FN->c = FN->c + 1;
        fprintf(stderr,"FN->bid=%d\n",FN->bid);
 
-       
-
-       /*k and randomoid are used for DD1R*/
-       @1 k,temp_h;
-
        fprintf(stderr,"This is from selcrack_HOL operators\n");        
-       fprintf(stderr,"BBPsize=%d\n",BBPsize); 
+       fprintf(stderr,"BBPsize=%d maxWB=%d",BBPsize,maxWB);    
 
        if (@2_GT(low,hgh,@3@1))
                throw(MAL, "crackers.crack", "illegal range");
@@ -580,10 +582,10 @@ createView:
                FN->f2 = FN->f2 +1;
        }
        countBatElements=BATcount(b);
-       fprintf(stderr,"BATcount(b)=%d",countBatElements);
+       fprintf(stderr,"BATcount(b)=%d\n",countBatElements);
        FN->weight = changeWeight(FN,countBatElements,L1);
        printFrequencyStruct(FrequencyStruct);
-       
+       maxWB=findMax(FrequencyStruct);
        @:CreateResult()@
        return MAL_SUCCEED;
 @
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to