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

Initialize the weights with the distance from the optimal index.


diffs (76 lines):

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
@@ -57,6 +57,21 @@ push(int bat_id,FrequencyNode* head)
        head->next=new_node; 
 }
 
+void 
+push_2(int bat_id,FrequencyNode* head,int N,int L1)
+{
+       FrequencyNode* new_node;
+       new_node=(FrequencyNode *) GDKmalloc(sizeof(FrequencyNode));
+       new_node->bid=bat_id;
+       new_node->c=1;
+       new_node->f1=0;
+       new_node->f2=0;
+       new_node->weight=N-L1;
+       new_node->next=head->next;
+       head->next=new_node; 
+}
+
+
 FrequencyNode*
 pop(FrequencyNode* head)
 {
@@ -176,6 +191,17 @@ CRKinitFrequencyStruct(int *vid,int *bid
        return MAL_SUCCEED;
 }
 
+str 
+CRKinitFrequencyStruct_2(int *vid,int *bid,int* N,int* L1)
+{
+       FrequencyNode *fs = getFrequencyStruct('A');
+       /*fprintf(stderr,"BAT_ID=%d\n",*bid);*/
+       push_2(*bid,fs,*N,*L1);
+       *vid = 0;
+       return MAL_SUCCEED;
+}
+
+
 str
 CRKrandomCrack(int *ret)
 {
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
@@ -28,6 +28,7 @@ typedef struct frequency{
 
 crackers_export FrequencyNode *getFrequencyStruct(char which);
 crackers_export void push(int bat_id,FrequencyNode* head);
+crackers_export void push_2(int bat_id,FrequencyNode* head,int N,int L1);
 crackers_export FrequencyNode* pop(FrequencyNode* head);
 crackers_export void printFrequencyStruct(FrequencyNode* head);
 crackers_export FrequencyNode* searchBAT(FrequencyNode* head,int bat_id);
@@ -38,6 +39,7 @@ crackers_export void deleteNode(Frequenc
 
 crackers_export str CRKinitHolistic(int *ret);
 crackers_export str CRKinitFrequencyStruct(int *vid,int *bid);
+crackers_export str CRKinitFrequencyStruct_2(int *vid,int *bid,int* N,int* L1);
 crackers_export str CRKrandomCrack(int *ret);
 
 #endif /*crackers_holistic*/ 
diff --git a/monetdb5/extras/crackers/crackers_holistic.mal 
b/monetdb5/extras/crackers/crackers_holistic.mal
--- a/monetdb5/extras/crackers/crackers_holistic.mal
+++ b/monetdb5/extras/crackers/crackers_holistic.mal
@@ -8,6 +8,10 @@ command initFrequencyStruct(b:bat[:oid,:
 address CRKinitFrequencyStruct
 comment "Initialize the struct(lifo) with zero values.";
 
+command initFrequencyStruct_2(b:bat[:oid,:any],N:int,L1:int):void
+address CRKinitFrequencyStruct_2
+comment "Initialize the node with the distance from the optimal index.";
+
 command randomCrack():void
 address CRKrandomCrack
 comment "Do random crack on BATs ordered by descending weight";
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to