Go to the source code of this file.
Data Structures | |
struct | MtrNode |
Defines | |
#define | CONST |
#define | MTR_INLINE |
#define | MTR_UNUSED |
#define | MTR_DEFAULT 0x00000000 |
#define | MTR_TERMINAL 0x00000001 |
#define | MTR_SOFT 0x00000002 |
#define | MTR_FIXED 0x00000004 |
#define | MTR_NEWNODE 0x00000008 |
#define | MTR_MAXHIGH ((MtrHalfWord) ~0) |
#define | MTR_SET(node, flag) (node->flags |= (flag)) |
#define | MTR_RESET(node, flag) (node->flags &= ~ (flag)) |
#define | MTR_TEST(node, flag) (node->flags & (flag)) |
Typedefs | |
typedef unsigned short | MtrHalfWord |
Functions | |
EXTERN MtrNode *Mtr_AllocNode | ARGS (()) |
EXTERN void Mtr_DeallocNode | ARGS ((MtrNode *node)) |
EXTERN MtrNode *Mtr_CopyTree | ARGS ((MtrNode *node, int expansion)) |
EXTERN void Mtr_MakeFirstChild | ARGS ((MtrNode *parent, MtrNode *child)) |
EXTERN MtrNode *Mtr_CreateFirstChild | ARGS ((MtrNode *parent)) |
EXTERN void Mtr_MakeNextSibling | ARGS ((MtrNode *first, MtrNode *second)) |
EXTERN MtrNode *Mtr_InitGroupTree | ARGS ((int lower, int size)) |
EXTERN MtrNode *Mtr_MakeGroup | ARGS ((MtrNode *root, unsigned int low, unsigned int high, unsigned int flags)) |
EXTERN MtrNode *Mtr_DissolveGroup | ARGS ((MtrNode *group)) |
EXTERN MtrNode *Mtr_FindGroup | ARGS ((MtrNode *root, unsigned int low, unsigned int high)) |
EXTERN void Mtr_PrintGroups | ARGS ((MtrNode *root, int silent)) |
EXTERN MtrNode *Mtr_ReadGroups | ARGS ((FILE *fp, int nleaves)) |
#define CONST |
CHeaderFile*****************************************************************
FileName [mtr.h]
PackageName [mtr]
Synopsis [Multiway-branch tree manipulation]
Description [This package provides two layers of functions. Functions of the lower level manipulate multiway-branch trees, implemented according to the classical scheme whereby each node points to its first child and its previous and next siblings. These functions are collected in mtrBasic.c.
Functions of the upper layer deal with group trees, that is the trees used by group sifting to represent the grouping of variables. These functions are collected in mtrGroup.c.]
SeeAlso [The CUDD package documentation; specifically on group sifting.]
Author [Fabio Somenzi]
Copyright [This file was created at the University of Colorado at Boulder. The University of Colorado at Boulder makes no warranty about the suitability of this software for any purpose. It is presented on an AS IS basis.]
Revision [
]
#define MTR_MAXHIGH ((MtrHalfWord) ~0) |
#define MTR_UNUSED |
typedef unsigned short MtrHalfWord |
EXTERN MtrNode* Mtr_ReadGroups ARGS | ( | (FILE *fp, int nleaves) | ) |
EXTERN void Mtr_PrintGroups ARGS | ( | (MtrNode *root, int silent) | ) |
EXTERN MtrNode* Mtr_MakeGroup ARGS | ( | (MtrNode *root, unsigned int low, unsigned int high, unsigned int flags) | ) |
EXTERN void Mtr_PrintTree ARGS | ( | (MtrNode *node) | ) |
EXTERN MtrNode* Mtr_AllocNode ARGS | ( | () | ) |
AutomaticStart