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