Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE > Class Template Reference

INPUT must return sotred transactions. More...

Collaboration diagram for bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef bracz::ClassicFPStructure::fptree_t fptree_t
 holds the entire trie

Public Member Functions

counter_t getTransactionCount ()
SinglePathIterator getSinglePathIterator (fptree_t *t, item_t curritem)
 ClassicFPStructure (INPUT *_inp, item_t maxitem)
 construct a structure from transactions.
fptree_tgetFullTree ()
fptree_tgetProjTree (item_t item)
item_t DINLINE checkSinglePath (fptree_t *t, item_t curritem, item_t spdepth)
template<class O_M>
void DINLINE handleSinglePath (fptree_t *t, item_t curritem, O_M *out)
void DINLINE zeroDataDense (fptree_t *intr, item_t curritem)
void DINLINE aggregateDense (fptree_t *intr, item_t curritem)
fptree_t *DINLINE projectTree (fptree_t *intr, item_t curritem)
void DINLINE deallocTree (fptree_t *t, fptree_t *parent, item_t projitem)

Protected Member Functions

void reccopytree (fptree_t *target, TYPENAME BUILDTREE::nodeptr_t node, node_t *parent)
void copyBuildTreeToFinalTree (TYPENAME BUILDTREE::buildtree_t &buildtree, fptree_t &fulltree, item_t maxitem)
void buildTree (item_t maxitem)
 Create the unconditional tree.
void buildAllL1Trees (item_t maxitem)
 Create all first-level conditional trees.

Protected Attributes

fptree_t fulltree
std::vector< fptree_tl1trees
counter_t transaction_count
singleualloc< node_t, 10 *1024 > nodeallocator
 allocator fot the nodes of the tree
singlesalloc< fptree_t, 100 > treealloc
 allocator for the fptree_t * structures
blockstack< stackmultiblock<
node_t *, false, stacksingleblock<
counter_t, false > > > 
treecontentalloc
 allocator following the recursion for nodes (counter,parent)

Private Attributes

INPUT * inp
 The input manager we got in the constructor.

Classes

struct  fptree_t
 holds the entire trie More...
class  SinglePathIterator

Detailed Description

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
class bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >

INPUT must return sotred transactions.

TD if true then top-down fp-growth runs (i.e. project does not copy the tree but destructs the top part of the one got as input). CUrrently only TD is implemented (TD=true).

SINGLE if true, then singlepath elimination is supported.

Definition at line 34 of file classicfp.cpp.


Member Typedef Documentation

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
typedef struct bracz::ClassicFPStructure::fptree_t bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fptree_t
 

holds the entire trie


Constructor & Destructor Documentation

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::ClassicFPStructure INPUT *  _inp,
item_t  maxitem
[inline]
 

construct a structure from transactions.

Parameters:
_inp is the input manager
maxitem is the first unallocated item. (i.e. valid itemids are 0..maxitem-1)

Definition at line 184 of file classicfp.cpp.

References bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::buildAllL1Trees(), bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::buildTree(), FLBuildAllL1Trees, FLBuildSingleTree, FLSimultProject, and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::inp.


Member Function Documentation

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
void DINLINE bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::aggregateDense fptree_t intr,
item_t  curritem
[inline]
 

Definition at line 246 of file classicfp.cpp.

References bracz::node_t::counter, bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fptree_t::freqs, bracz::node_t::headerlink, bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fptree_t::headertable, bracz::node_t::item, bracz::node_t::parent, and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fptree_t::rootfreq.

Referenced by bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::projectTree().

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
void bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::buildAllL1Trees item_t  maxitem  )  [inline, protected]
 

Create all first-level conditional trees.

Definition at line 129 of file classicfp.cpp.

References bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::copyBuildTreeToFinalTree(), bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::inp, bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::l1trees, and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::transaction_count.

Referenced by bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::ClassicFPStructure().

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
void bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::buildTree item_t  maxitem  )  [inline, protected]
 

Create the unconditional tree.

Definition at line 108 of file classicfp.cpp.

References bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::copyBuildTreeToFinalTree(), bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fulltree, bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::inp, and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::transaction_count.

Referenced by bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::ClassicFPStructure().

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
item_t DINLINE bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::checkSinglePath fptree_t t,
item_t  curritem,
item_t  spdepth
[inline]
 

Definition at line 220 of file classicfp.cpp.

References bracz::node_t::headerlink, and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fptree_t::headertable.

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
void bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::copyBuildTreeToFinalTree TYPENAME BUILDTREE::buildtree_t &  buildtree,
fptree_t fulltree,
item_t  maxitem
[inline, protected]
 

Definition at line 100 of file classicfp.cpp.

References bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fptree_t::freqs, bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fptree_t::headertable, bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::reccopytree(), and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fptree_t::rootfreq.

Referenced by bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::buildAllL1Trees(), and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::buildTree().

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
void DINLINE bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::deallocTree fptree_t t,
fptree_t parent,
item_t  projitem
[inline]
 

Definition at line 282 of file classicfp.cpp.

References bracz::node_t::counter, bracz::node_t::headerlink, bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fptree_t::headertable, and bracz::node_t::parent.

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
fptree_t* bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::getFullTree  )  [inline]
 

Definition at line 203 of file classicfp.cpp.

References FLBuildSingleTree, and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fulltree.

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
fptree_t* bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::getProjTree item_t  item  )  [inline]
 

Definition at line 211 of file classicfp.cpp.

References FLBuildSingleTree, and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::l1trees.

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
SinglePathIterator bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::getSinglePathIterator fptree_t t,
item_t  curritem
[inline]
 

Definition at line 174 of file classicfp.cpp.

References bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fptree_t::headertable.

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
counter_t bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::getTransactionCount  )  [inline]
 

Definition at line 53 of file classicfp.cpp.

References bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::transaction_count.

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
template<class O_M>
void DINLINE bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::handleSinglePath fptree_t t,
item_t  curritem,
O_M *  out
[inline]
 

Definition at line 230 of file classicfp.cpp.

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
fptree_t* DINLINE bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::projectTree fptree_t intr,
item_t  curritem
[inline]
 

Definition at line 260 of file classicfp.cpp.

References bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::aggregateDense(), and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::zeroDataDense().

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
void bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::reccopytree fptree_t target,
TYPENAME BUILDTREE::nodeptr_t  node,
node_t parent
[inline, protected]
 

Definition at line 81 of file classicfp.cpp.

References bracz::node_t::counter, bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fptree_t::freqs, bracz::node_t::headerlink, bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fptree_t::headertable, bracz::node_t::item, bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::nodeallocator, bracz::node_t::parent, and TYPENAME.

Referenced by bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::copyBuildTreeToFinalTree().

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
void DINLINE bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::zeroDataDense fptree_t intr,
item_t  curritem
[inline]
 

Definition at line 234 of file classicfp.cpp.

References bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fptree_t::freqs, and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fptree_t::rootfreq.

Referenced by bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::projectTree().


Member Data Documentation

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
fptree_t bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::fulltree [protected]
 

Definition at line 64 of file classicfp.cpp.

Referenced by bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::buildTree(), and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::getFullTree().

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
INPUT* bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::inp [private]
 

The input manager we got in the constructor.

Definition at line 60 of file classicfp.cpp.

Referenced by bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::buildAllL1Trees(), bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::buildTree(), and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::ClassicFPStructure().

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
std::vector<fptree_t> bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::l1trees [protected]
 

Definition at line 66 of file classicfp.cpp.

Referenced by bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::buildAllL1Trees(), and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::getProjTree().

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
singleualloc<node_t, 10*1024> bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::nodeallocator [protected]
 

allocator fot the nodes of the tree

Definition at line 72 of file classicfp.cpp.

Referenced by bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::reccopytree().

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
counter_t bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::transaction_count [protected]
 

Definition at line 69 of file classicfp.cpp.

Referenced by bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::buildAllL1Trees(), bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::buildTree(), and bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::getTransactionCount().

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
singlesalloc<fptree_t,100> bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::treealloc [protected]
 

allocator for the fptree_t * structures

Definition at line 74 of file classicfp.cpp.

template<class INPUT, class BUILDTREE, FirstLevel FIRSTLEVEL, bool TD, bool SINGLE>
blockstack<stackmultiblock<node_t*,false,stacksingleblock<counter_t,false> > > bracz::ClassicFPStructure< INPUT, BUILDTREE, FIRSTLEVEL, TD, SINGLE >::treecontentalloc [protected]
 

allocator following the recursion for nodes (counter,parent)

Definition at line 78 of file classicfp.cpp.


The documentation for this class was generated from the following file:
Generated on Sun Sep 17 17:57:21 2006 for FIM environment by  doxygen 1.4.4