📄 memman.cc,v
字号:
head 1.2;access;symbols;locks zaki:1.2; strict;comment @// @;1.2date 2001.06.24.21.17.20; author zaki; state Exp;branches;next 1.1;1.1date 2001.06.12.16.41.58; author zaki; state Exp;branches;next ;desc@Charm with Hashing.@1.2log@added use_hash_map@text@#include "memman.h"#include "assoc.h"#include "partition.h"#include "Graph.h"extern unsigned long int total_scan;void Memman::read_from_disk(Itemset *iset, int alloc_flg){ if (iset->memflg()) return; int tidsum = 0; int it = (*F2Graph)[(*iset)[0]]->item(); int supsz = partition_get_idxsup(it); total_scan+=supsz; if (alloc_flg){ if (iset->tidlist()) iset->tidlist()->Realloc(supsz); else iset->tidlist() = new Array<int>(supsz); } partition_read_item(iset->tidlist()->array(), it); iset->tidlist()->size() = supsz; iset->memflg() = TRUE; for (int i=0; i < iset->tidlist()->size(); i++) tidsum += (*iset->tidlist())[i]; if (diff_input){ iset->diff() = supsz; iset->support() = DBASE_NUM_TRANS - supsz; iset->hashval() = tidsum; } else{ iset->support() = supsz; iset->diff() = 0; iset->hashval() = tidsum; } }Itemset * Memman::read_from_disk(int it, Dbase_Ctrl_Blk *DCB){ int rit = (*F2Graph)[it]->item(); int supsz; int tidsum = 0; if (use_horizontal) supsz = DCB->tidlists[it]->size(); else supsz = partition_get_idxsup(rit); Itemset *iset; if (use_horizontal) iset = new Itemset(1, 0); else iset = new Itemset(1,supsz); total_scan+=supsz; if (use_horizontal){ iset->tidlist() = DCB->tidlists[it]; } else{ partition_read_item(iset->tidlist()->array(), rit); } iset->iset()->optadd(it); iset->tidlist()->size() = supsz; iset->memflg() = TRUE; for (int i=0; i < iset->tidlist()->size(); i++) tidsum += (*iset->tidlist())[i]; if (diff_input){ iset->diff() = supsz; iset->support() = DBASE_NUM_TRANS - supsz; iset->hashval() = tidsum; } else{ iset->support() = supsz; iset->diff() = 0; iset->hashval() = tidsum; } return iset;}@1.1log@Initial revision@text@d27 2a28 4 if (use_diff && use_hash){ for (int i=0; i < iset->tidlist()->size(); i++) tidsum += (*iset->tidlist())[i]; }d71 2a72 4 if (use_diff && use_hash){ for (int i=0; i < iset->tidlist()->size(); i++) tidsum += (*iset->tidlist())[i]; }@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -