Biddy  1.7.1
An academic Binary Decision Diagrams package
biddyStat.c File Reference

File biddyStat.c contains statistical functions. More...

#include "biddyInt.h"

Go to the source code of this file.

Functions

unsigned int Biddy_Managed_NodeNumber (Biddy_Manager MNG, Biddy_Edge f)
 Function Biddy_Managed_NodeNumber. More...
 
unsigned int Biddy_NodeMaxLevel (Biddy_Edge f)
 Function Biddy_NodeMaxLevel. More...
 
float Biddy_NodeAvgLevel (Biddy_Edge f)
 Function Biddy_NodeAvgLevel. More...
 
Biddy_Variable Biddy_Managed_VariableTableNum (Biddy_Manager MNG)
 Function Biddy_Managed_VariableTableNum returns number of used variables. More...
 
unsigned int Biddy_Managed_NodeTableSize (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableSize returns the size of node table. More...
 
unsigned int Biddy_Managed_NodeTableBlockNumber (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableBlockNumber. More...
 
unsigned int Biddy_Managed_NodeTableGenerated (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableGenerated. More...
 
unsigned int Biddy_Managed_NodeTableMax (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableMax returns maximal (peek) number of nodes in node table. More...
 
unsigned int Biddy_Managed_NodeTableNum (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableNum returns number of all nodes currently in node table. More...
 
unsigned int Biddy_Managed_NodeTableNumVar (Biddy_Manager MNG, Biddy_Variable v)
 Function Biddy_Managed_NodeTableNumVar returns number of nodes with a given variable currently in node table. More...
 
unsigned int Biddy_Managed_NodeTableGCNumber (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableGCNumber. More...
 
unsigned int Biddy_Managed_NodeTableSwapNumber (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableSwapNumber. More...
 
unsigned int Biddy_Managed_NodeTableSiftingNumber (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableSiftingNumber. More...
 
unsigned int Biddy_Managed_NodeTableResizeNumber (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableResizeNumber. More...
 
unsigned int Biddy_Managed_NodeTableITENumber (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableITENumber. More...
 
unsigned long long int Biddy_Managed_NodeTableITERecursiveNumber (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableITERecursiveNumber. More...
 
unsigned int Biddy_Managed_NodeTableANDORNumber (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableANDORNumber. More...
 
unsigned long long int Biddy_Managed_NodeTableANDORRecursiveNumber (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableANDORRecursiveNumber. More...
 
unsigned int Biddy_Managed_NodeTableXORNumber (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableXORNumber. More...
 
unsigned long long int Biddy_Managed_NodeTableXORRecursiveNumber (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableXORRecursiveNumber. More...
 
clock_t Biddy_Managed_NodeTableGCTime (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableGCTime. More...
 
unsigned long long int Biddy_Managed_NodeTableGCObsoleteNumber (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableGCObsoleteNumber. More...
 
clock_t Biddy_Managed_NodeTableDRTime (Biddy_Manager MNG)
 Function Biddy_Managed_NodeTableDRTime. More...
 
unsigned int Biddy_Managed_FormulaTableNum (Biddy_Manager MNG)
 Function Biddy_Managed_FormulaTableNum returns number of known formulae. More...
 
unsigned int Biddy_Managed_ListUsed (Biddy_Manager MNG)
 Function Biddy_Managed_ListUsed. More...
 
unsigned int Biddy_Managed_ListMaxLength (Biddy_Manager MNG)
 Function Biddy_Managed_ListMaxLength. More...
 
float Biddy_Managed_ListAvgLength (Biddy_Manager MNG)
 Function Biddy_Managed_ListAvgLength. More...
 
unsigned long long int Biddy_Managed_OPCacheSearch (Biddy_Manager MNG)
 Function Biddy_Managed_OPCacheSearch. More...
 
unsigned long long int Biddy_Managed_OPCacheFind (Biddy_Manager MNG)
 Function Biddy_Managed_OPCacheFind. More...
 
unsigned long long int Biddy_Managed_OPCacheOverwrite (Biddy_Manager MNG)
 Function Biddy_Managed_OPCacheOverwrite. More...
 
unsigned int Biddy_Managed_NodeNumberPlain (Biddy_Manager MNG, Biddy_Edge f)
 Function Biddy_Managed_NodeNumberPlain. More...
 
unsigned int Biddy_Managed_DependentVariableNumber (Biddy_Manager MNG, Biddy_Edge f)
 Function Biddy_Managed_DependentVariableNumber. More...
 
void Biddy_Managed_NodeVarNumber (Biddy_Manager MNG, Biddy_Edge f, unsigned int *n, unsigned int *v)
 Function Biddy_Managed_NodeVarNumber. More...
 
unsigned long long int Biddy_Managed_CountPaths (Biddy_Manager MNG, Biddy_Edge f)
 Function Biddy_Managed_CountPaths count the number of 1-paths. More...
 
double Biddy_Managed_CountMinterm (Biddy_Manager MNG, Biddy_Edge f, unsigned int nvars)
 Function Biddy_Managed_CountMinterm. More...
 
double Biddy_Managed_DensityFunction (Biddy_Manager MNG, Biddy_Edge f, unsigned int nvars)
 Function Biddy_Managed_DensityFunction calculates the ratio of the number of on-set minterms to the number of all minterms. More...
 
double Biddy_Managed_DensityBDD (Biddy_Manager MNG, Biddy_Edge f, unsigned int nvars)
 Function Biddy_Managed_DensityBDD calculates the ratio of the number of on-set minterms to the number of nodes. More...
 
unsigned long long int Biddy_Managed_ReadMemoryInUse (Biddy_Manager MNG)
 Function Biddy_Managed_ReadMemoryInUse report memory consumption of main data strucutures (nodes, node table, variable table, ordering table, formula table, ITE cache, EA cache, RC cache) in bytes. More...
 
void Biddy_Managed_PrintInfo (Biddy_Manager MNG, FILE *f)
 Function Biddy_Managed_PrintInfo prepare a file with stats. More...
 

Detailed Description

File biddyStat.c contains statistical functions.

Description

PackageName [Biddy]
Synopsis    [Biddy provides data structures and algorithms for the
             representation and manipulation of Boolean functions with
             ROBDDs. A hash table is used for quick search of nodes.
             Complement edges decreases the number of nodes. An automatic
             garbage collection with a system age is implemented.
             Variable swapping and sifting are implemented.]

FileName    [biddyStat.c]
Revision    [$Revision: 252 $]
Date        [$Date: 2017-03-17 23:30:03 +0100 (pet, 17 mar 2017) $]
Authors     [Robert Meolic (robert.meolic@um.si),
             Ales Casar (ales@homemade.net)]

Copyright

Copyright (C) 2006, 2017 UM-FERI, Smetanova ulica 17, SI-2000 Maribor, Slovenia

Biddy is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Biddy is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

More info

See also: biddy.h, biddyInt.h

Definition in file biddyStat.c.

Function Documentation

unsigned int Biddy_Managed_NodeNumber ( Biddy_Manager  MNG,
Biddy_Edge  f 
)

Function Biddy_Managed_NodeNumber.

Description

Count number of nodes in a BDD.

Side effects

This function must be managed because node selection is used.

More info

Macro Biddy_Managed_NodeNumber(f) is defined for use with anonymous manager.

Definition at line 85 of file biddyStat.c.

Here is the caller graph for this function:

unsigned int Biddy_NodeMaxLevel ( Biddy_Edge  f)

Function Biddy_NodeMaxLevel.

Description

Side effects

More info

Definition at line 119 of file biddyStat.c.

float Biddy_NodeAvgLevel ( Biddy_Edge  f)

Function Biddy_NodeAvgLevel.

Description

Side effects

More info

Definition at line 147 of file biddyStat.c.

Biddy_Variable Biddy_Managed_VariableTableNum ( Biddy_Manager  MNG)

Function Biddy_Managed_VariableTableNum returns number of used variables.

Description

Side effects

Variable '1' is included.

More info

Macro Biddy_VariableTableNum() is defined for use with anonymous manager.

Definition at line 179 of file biddyStat.c.

Here is the caller graph for this function:

unsigned int Biddy_Managed_NodeTableSize ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableSize returns the size of node table.

Description

Side effects

More info

Macro Biddy_NodeTableSize() is defined for use with anonymous manager.

Definition at line 204 of file biddyStat.c.

unsigned int Biddy_Managed_NodeTableBlockNumber ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableBlockNumber.

Description

Side effects

More info

Macro Biddy_NodeTableBlockNumber() is defined for use with anonymous manager.

Definition at line 234 of file biddyStat.c.

unsigned int Biddy_Managed_NodeTableGenerated ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableGenerated.

Description

Side effects

More info

Macro Biddy_NodeTableGenerated() is defined for use with anonymous manager.

Definition at line 259 of file biddyStat.c.

unsigned int Biddy_Managed_NodeTableMax ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableMax returns maximal (peek) number of nodes in node table.

Description

Side effects

More info

Macro Biddy_NodeTableMax() is defined for use with anonymous manager.

Definition at line 285 of file biddyStat.c.

unsigned int Biddy_Managed_NodeTableNum ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableNum returns number of all nodes currently in node table.

Description

Side effects

More info

Macro Biddy_NodeTableNum() is defined for use with anonymous manager.

Definition at line 311 of file biddyStat.c.

Here is the caller graph for this function:

unsigned int Biddy_Managed_NodeTableNumVar ( Biddy_Manager  MNG,
Biddy_Variable  v 
)

Function Biddy_Managed_NodeTableNumVar returns number of nodes with a given variable currently in node table.

Description

Side effects

More info

Macro Biddy_NodeTableNumVar(v) is defined for use with anonymous manager.

Definition at line 337 of file biddyStat.c.

Here is the caller graph for this function:

unsigned int Biddy_Managed_NodeTableGCNumber ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableGCNumber.

Description

Side effects

More info

Macro Biddy_NodeTableGCNumber() is defined for use with anonymous manager.

Definition at line 362 of file biddyStat.c.

unsigned int Biddy_Managed_NodeTableSwapNumber ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableSwapNumber.

Description

Side effects

More info

Macro Biddy_NodeTableSwapNumber() is defined for use with anonymous manager.

Definition at line 387 of file biddyStat.c.

unsigned int Biddy_Managed_NodeTableSiftingNumber ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableSiftingNumber.

Description

Side effects

More info

Macro Biddy_NodeTableSiftingNumber() is defined for use with anonymous manager.

Definition at line 413 of file biddyStat.c.

unsigned int Biddy_Managed_NodeTableResizeNumber ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableResizeNumber.

Description

Side effects

More info

Macro Biddy_NodeTableResizeNumber() is defined for use with anonymous manager.

Definition at line 439 of file biddyStat.c.

unsigned int Biddy_Managed_NodeTableITENumber ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableITENumber.

Description

Side effects

More info

Macro Biddy_NodeTableITENumber() is defined for use with anonymous manager.

Definition at line 464 of file biddyStat.c.

unsigned long long int Biddy_Managed_NodeTableITERecursiveNumber ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableITERecursiveNumber.

Description

Side effects

Recursive ITE calls are counted only if Biddy is compiled using directive BIDDYEXTENDEDSTATS_YES.

More info

Macro Biddy_NodeTableITERecursiveNumber() is defined for use with anonymous manager.

Definition at line 492 of file biddyStat.c.

unsigned int Biddy_Managed_NodeTableANDORNumber ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableANDORNumber.

Description

Side effects

More info

Macro Biddy_NodeTableANDORNumber() is defined for use with anonymous manager.

Definition at line 524 of file biddyStat.c.

unsigned long long int Biddy_Managed_NodeTableANDORRecursiveNumber ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableANDORRecursiveNumber.

Description

Side effects

Recursive AND/OR calls are counted only if Biddy is compiled using directive BIDDYEXTENDEDSTATS_YES.

More info

Macro Biddy_NodeTableANDORRecursiveNumber() is defined for use with anonymous manager.

Definition at line 552 of file biddyStat.c.

unsigned int Biddy_Managed_NodeTableXORNumber ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableXORNumber.

Description

Side effects

More info

Macro Biddy_NodeTableXORNumber() is defined for use with anonymous manager.

Definition at line 583 of file biddyStat.c.

unsigned long long int Biddy_Managed_NodeTableXORRecursiveNumber ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableXORRecursiveNumber.

Description

Side effects

Recursive XOR calls are counted only if Biddy is compiled using directive BIDDYEXTENDEDSTATS_YES.

More info

Macro Biddy_NodeTableXORRecursiveNumber() is defined for use with anonymous manager.

Definition at line 611 of file biddyStat.c.

clock_t Biddy_Managed_NodeTableGCTime ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableGCTime.

Description

Side effects

More info

Macro Biddy_NodeTableGCTime() is defined for use with anonymous manager.

Definition at line 642 of file biddyStat.c.

unsigned long long int Biddy_Managed_NodeTableGCObsoleteNumber ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableGCObsoleteNumber.

Description

Return the number of nodes deleted by GC.

Side effects

Obsolete nodes deleted by GC are counted only if Biddy is compiled using directive BIDDYEXTENDEDSTATS_YES.

More info

Macro Biddy_NodeTableGCObsoleteNumber() is defined for use with anonymous manager.

Definition at line 671 of file biddyStat.c.

Here is the caller graph for this function:

clock_t Biddy_Managed_NodeTableDRTime ( Biddy_Manager  MNG)

Function Biddy_Managed_NodeTableDRTime.

Description

Side effects

More info

Macro Biddy_NodeTableDRTime() is defined for use with anonymous manager.

Definition at line 710 of file biddyStat.c.

unsigned int Biddy_Managed_FormulaTableNum ( Biddy_Manager  MNG)

Function Biddy_Managed_FormulaTableNum returns number of known formulae.

Description

Side effects

Formulae '0' and '1' are included.

More info

Macro Biddy_FormulaTableNum() is defined for use with anonymous manager.

Definition at line 736 of file biddyStat.c.

unsigned int Biddy_Managed_ListUsed ( Biddy_Manager  MNG)

Function Biddy_Managed_ListUsed.

Description

Side effects

More info

Macro Biddy_ListUsed() is defined for use with anonymous manager.

Definition at line 761 of file biddyStat.c.

Here is the caller graph for this function:

unsigned int Biddy_Managed_ListMaxLength ( Biddy_Manager  MNG)

Function Biddy_Managed_ListMaxLength.

Description

Side effects

More info

Macro Biddy_ListMaxLength() is defined for use with anonymous manager.

Definition at line 794 of file biddyStat.c.

Here is the caller graph for this function:

float Biddy_Managed_ListAvgLength ( Biddy_Manager  MNG)

Function Biddy_Managed_ListAvgLength.

Description

Side effects

More info

Macro Biddy_ListAvgLength() is defined for use with anonymous manager.

Definition at line 858 of file biddyStat.c.

Here is the caller graph for this function:

unsigned long long int Biddy_Managed_OPCacheSearch ( Biddy_Manager  MNG)

Function Biddy_Managed_OPCacheSearch.

Description

Side effects

More info

Macro Biddy_OPCacheSearch() is defined for use with anonymous manager.

Definition at line 900 of file biddyStat.c.

unsigned long long int Biddy_Managed_OPCacheFind ( Biddy_Manager  MNG)

Function Biddy_Managed_OPCacheFind.

Description

Side effects

More info

Macro Biddy_OPCacheFind() is defined for use with anonymous manager.

Definition at line 925 of file biddyStat.c.

unsigned long long int Biddy_Managed_OPCacheOverwrite ( Biddy_Manager  MNG)

Function Biddy_Managed_OPCacheOverwrite.

Description

Side effects

More info

Macro Biddy_OPCacheOverwrite() is defined for use with anonymous manager.

Definition at line 950 of file biddyStat.c.

unsigned int Biddy_Managed_NodeNumberPlain ( Biddy_Manager  MNG,
Biddy_Edge  f 
)

Function Biddy_Managed_NodeNumberPlain.

Description

Count number of nodes in a corresponding BDD without complement edges.

Side effects

More info

Macro Biddy_Managed_NodeNumberPlain(f) is defined for use with anonymous manager.

Definition at line 976 of file biddyStat.c.

unsigned int Biddy_Managed_DependentVariableNumber ( Biddy_Manager  MNG,
Biddy_Edge  f 
)

Function Biddy_Managed_DependentVariableNumber.

Description

Count number of dependent variables. For OBDD, the number of dependent variables is the same as the number of variables in the graph. For ZBDD and TZBDD, this is not true.

Side effects

More info

Macro Biddy_DependentVariableNumber(f) is defined for use with anonymous manager.

Definition at line 1026 of file biddyStat.c.

Here is the caller graph for this function:

void Biddy_Managed_NodeVarNumber ( Biddy_Manager  MNG,
Biddy_Edge  f,
unsigned int *  n,
unsigned int *  v 
)

Function Biddy_Managed_NodeVarNumber.

Description

Count number of nodes and number of variables existing in the graph. For OBDD, the number of variables existing in the graph is the same as the number of dependent variables. For ZBDD and TZBDD, this is not true.

Side effects

More info

Macro Biddy_NodeVarNumber(f,n,v) is defined for use with anonymous manager.

Definition at line 1099 of file biddyStat.c.

Here is the caller graph for this function:

unsigned long long int Biddy_Managed_CountPaths ( Biddy_Manager  MNG,
Biddy_Edge  f 
)

Function Biddy_Managed_CountPaths count the number of 1-paths.

Description

Side effects

Implemented for OBDD, ZBDD, and TZBDD. TO DO: implement this using GNU Multiple Precision Arithmetic Library (GMP).

More info

Macro Biddy_CountPaths(f) is defined for use with anonymous manager.

Definition at line 1151 of file biddyStat.c.

double Biddy_Managed_CountMinterm ( Biddy_Manager  MNG,
Biddy_Edge  f,
unsigned int  nvars 
)

Function Biddy_Managed_CountMinterm.

Description

Parameter nvars is a user-defined number of dependent variables. If nvars == 0 then number of variables existing in the graph is used. For combination sets, this function coincides with combination counting.

Side effects

We are using GNU Multiple Precision Arithmetic Library (GMP). For ZBDDs, this function coincides with 1-path cou

More info

Macro Biddy_CountMinterm(f,nvars) is defined for use with anonymous manager. Macros Biddy_Managed_CountCombination(MNG,f,nvars) and Biddy_CountCombination(f,nvars) are defined for use with combination sets.

Definition at line 1202 of file biddyStat.c.

Here is the caller graph for this function:

double Biddy_Managed_DensityFunction ( Biddy_Manager  MNG,
Biddy_Edge  f,
unsigned int  nvars 
)

Function Biddy_Managed_DensityFunction calculates the ratio of the number of on-set minterms to the number of all minterms.

Description

If nvars == 0 then number of dependent variables is used.

Side effects

More info

Macro Biddy_DensityFunction(f,nvars) is defined for use with anonymous manager.

Definition at line 1328 of file biddyStat.c.

double Biddy_Managed_DensityBDD ( Biddy_Manager  MNG,
Biddy_Edge  f,
unsigned int  nvars 
)

Function Biddy_Managed_DensityBDD calculates the ratio of the number of on-set minterms to the number of nodes.

Description

If nvars == 0 then number of dependent variables is used.

Side effects

More info

Macro Biddy_DensityBDD(f,nvars) is defined for use with anonymous manager.

Definition at line 1382 of file biddyStat.c.

unsigned long long int Biddy_Managed_ReadMemoryInUse ( Biddy_Manager  MNG)

Function Biddy_Managed_ReadMemoryInUse report memory consumption of main data strucutures (nodes, node table, variable table, ordering table, formula table, ITE cache, EA cache, RC cache) in bytes.

Description

Side effects

More info

Macro Biddy_ReadMemoryInUse() is defined for use with anonymous manager.

Definition at line 1428 of file biddyStat.c.

Here is the caller graph for this function:

void Biddy_Managed_PrintInfo ( Biddy_Manager  MNG,
FILE *  f 
)

Function Biddy_Managed_PrintInfo prepare a file with stats.

Description

Side effects

More info

Macro Biddy_PrintInfo(f) is defined for use with anonymous manager.

Definition at line 1514 of file biddyStat.c.