InChI
 
Loading...
Searching...
No Matches
ichican2.c File Reference
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <time.h>
#include "mode.h"
#include "ichicano.h"
#include "ichicomn.h"
#include "ichitime.h"
#include "bcf_s.h"
+ Include dependency graph for ichican2.c:

Data Structures

struct  tagUnorderedPartition
 
struct  tagCell
 
struct  tagTransposition
 
struct  tagCTable
 
struct  tagkLeast
 
struct  tagNodeValues
 

Macros

#define MAX_CELLS   32766
 
#define MAX_NODES   32766
 
#define MAX_SET_SIZE   32766 /*16384*/
 
#define NORMALLY_ALLOWED_MAX_SET_SIZE   2048
 
#define MAX_LAYERS   100
 
#define SEPARATE_CANON_CALLS   0
 
#define INCHI_CANON_INFINITY   0x7FFF
 
#define INCHI_CANON_MIN
 
#define EMPTY_CT   0
 
#define EMPTY_H_NUMBER   (INCHI_CANON_INFINITY-1)
 
#define BASE_H_NUMBER   ((INCHI_CANON_INFINITY-1)/2)
 
#define EMPTY_ISO_SORT_KEY   LONG_MAX
 
#define CanonGraph01   CanonGraph
 
#define CanonGraph02   CanonGraph
 
#define CanonGraph03   CanonGraph
 
#define CanonGraph04   CanonGraph
 
#define CanonGraph05   CanonGraph
 
#define CanonGraph06   CanonGraph
 
#define CanonGraph07   CanonGraph
 
#define CanonGraph08   CanonGraph
 
#define CanonGraph09   CanonGraph
 
#define CanonGraph10   CanonGraph
 
#define CanonGraph11   CanonGraph
 
#define CanonGraph12   CanonGraph
 
#define QZFIX_OK(X)   ((X)<=0)
 
#define ELEM_NAME_LEN   2
 
#define FREE_CONTABLE(X)   if (X) {CTableFree( X);inchi_free( X);}
 
#define FREE_ARRAY(X)   if (X) inchi_free( X);
 
#define FREE_CONTABLE(X)   if (X) {CTableFree( X);inchi_free( X);}
 
#define FREE_ARRAY(X)   if (X) inchi_free( X);
 

Typedefs

typedef AT_NUMB Node
 
typedef NEIGH_LIST Graph
 
typedef struct tagUnorderedPartition UnorderedPartition
 
typedef struct tagCell Cell
 
typedef struct tagTransposition Transposition
 
typedef struct tagCTable ConTable
 
typedef struct tagkLeast kLeast
 
typedef struct tagNodeValues NV
 

Functions

int CanonGraph (struct tagINCHI_CLOCK *ic, CANON_GLOBALS *pCG, int n, int n_tg, int n_max, int bDigraph, Graph *G, Partition pi[], AT_RANK *nSymmRank, AT_RANK *nCanonRank, AT_NUMB *nAtomNumberCanon, CANON_DATA *pCD, CANON_COUNTS *pCC, ConTable **pp_zb_rho_inp, ConTable **pp_zb_rho_out, int LargeMolecules)
 
void CtPartFill (Graph *G, CANON_DATA *pCD, Partition *p, ConTable *Ct, int k, int n, int n_tg, int n_max)
 
void CtPartClear (ConTable *Ct, int k)
 
void CtPartINCHI_CANON_INFINITY (ConTable *Ct, S_CHAR *cmp, int k)
 
int CtPartCompare (ConTable *Ct1, ConTable *Ct2, S_CHAR *cmp, kLeast *kLeastForLayer, int k, int bOnlyCommon, int bSplitTautCompare)
 
int CtFullCompare (ConTable *Ct1, ConTable *Ct2, int bOnlyCommon, int bSplitTautCompare)
 
void CtPartCopy (ConTable *Ct1, ConTable *Ct2, int k)
 
void CtFullCopy (ConTable *Ct1, ConTable *Ct2)
 
int CtFullCompareLayers (kLeast *kLeastForLayer)
 
int CtCompareLayersGetFirstDiff (kLeast *kLeast_rho, int nOneAdditionalLayer, int *L_rho, int *I_rho, int *k_rho)
 
int CtPartCompareLayers (kLeast *kLeast_rho, int L_rho_fix_prev, int nOneAdditionalLayer)
 
void UpdateCompareLayers (kLeast kLeastForLayer[], int hzz)
 
int GetOneAdditionalLayer (CANON_DATA *pCD, ConTable *pzb_rho_fix)
 
void CleanNumH (NUM_H *NumH, int len)
 
int CleanCt (AT_RANK *Ct, int len)
 
void CleanIsoSortKeys (AT_ISO_SORT_KEY *isk, int len)
 
void MergeCleanIsoSortKeys (AT_ISO_SORT_KEY *isk1, AT_ISO_SORT_KEY *isk2, int len)
 
int UnorderedPartitionJoin (UnorderedPartition *p1, UnorderedPartition *p2, int n)
 
Node GetUnorderedPartitionMcrNode (UnorderedPartition *p1, Node v)
 
int nJoin2Mcrs2 (AT_RANK *nEqArray, AT_RANK n1, AT_RANK n2)
 
AT_RANK nGetMcr2 (AT_RANK *nEqArray, AT_RANK n)
 
int AllNodesAreInSet (NodeSet *cur_nodes, int lcur_nodes, NodeSet *set, int lset)
 
void NodeSetFromVertices (CANON_GLOBALS *pCG, NodeSet *cur_nodes, int l, Node *v, int num_v)
 
void CellMakeEmpty (Cell *baseW, int k)
 
Node CellGetMinNode (Partition *p, Cell *W, Node v, CANON_DATA *pCD)
 
int CellGetNumberOfNodes (Partition *p, Cell *W)
 
int CellIntersectWithSet (struct tagCANON_GLOBALS *pCG, Partition *p, Cell *W, NodeSet *Mcr, int l)
 
int PartitionColorVertex (CANON_GLOBALS *pCG, Graph *G, Partition *p, Node v, int n, int n_tg, int n_max, int bDigraph, int nNumPrevRanks)
 
void PartitionCopy (Partition *To, Partition *From, int n)
 
int PartitionSatisfiesLemma_2_25 (Partition *p, int n)
 
void PartitionGetTransposition (Partition *pFrom, Partition *pTo, int n, Transposition *gamma)
 
void PartitionGetMcrAndFixSet (CANON_GLOBALS *pCG, Partition *p, NodeSet *Mcr, NodeSet *Fix, int n, int l)
 
int PartitionGetFirstCell (Partition *p, Cell *baseW, int k, int n)
 
int PartitionIsDiscrete (Partition *p, int n)
 
void PartitionFree (Partition *p)
 
int PartitionCreate (Partition *p, int n)
 
void UnorderedPartitionMakeDiscrete (UnorderedPartition *p, int n)
 
void UnorderedPartitionFree (UnorderedPartition *p)
 
int UnorderedPartitionCreate (UnorderedPartition *p, int n)
 
void CTableFree (ConTable *Ct)
 
int CTableCreate (ConTable *Ct, int n, CANON_DATA *pCD)
 
void TranspositionFree (Transposition *p)
 
int TranspositionCreate (Transposition *p, int n)
 
void TranspositionGetMcrAndFixSetAndUnorderedPartition (struct tagCANON_GLOBALS *pCG, Transposition *gamma, NodeSet *McrSet, NodeSet *FixSet, int n, int l, UnorderedPartition *p)
 
void insertions_sort_NeighList_AT_NUMBERS2 (NEIGH_LIST base, AT_RANK *nRank, AT_RANK max_rj)
 
int WriteGraph (Graph *G, int n, int gnum, char *fname, char *fmode)
 
int SetInitialRanks2 (int num_atoms, ATOM_INVARIANT2 *pAtomInvariant2, AT_RANK *nNewRank, AT_RANK *nAtomNumber, CANON_GLOBALS *pCG)
 
void FillOutAtomInvariant2 (sp_ATOM *at, int num_atoms, int num_at_tg, ATOM_INVARIANT2 *pAtomInvariant, int bIgnoreIsotopic, int bHydrogensInRanks, int bHydrogensFixedInRanks, int bDigraph, int bTautGroupsOnly, T_GROUP_INFO *t_group_info)
 
int GetCanonRanking2 (int num_atoms, int num_at_tg, int num_max, int bDigraph, sp_ATOM *at, AT_RANK **pRankStack, int nNumPrevRanks, AT_RANK *nSymmRank, AT_RANK *nCanonRank, NEIGH_LIST *NeighList, AT_RANK *nTempRank, CANON_STAT *pCS)
 
int NodeSetCreate (struct tagCANON_GLOBALS *pCG, NodeSet *pSet, int n, int L)
 
void NodeSetFree (struct tagCANON_GLOBALS *pCG, NodeSet *pSet)
 
void NodeSetFromRadEndpoints (CANON_GLOBALS *pCG, NodeSet *cur_nodes, int k, Vertex RadEndpoints[], int num_v)
 
void RemoveFromNodeSet (CANON_GLOBALS *pCG, NodeSet *cur_nodes, int k, Vertex v[], int num_v)
 
int DoNodeSetsIntersect (NodeSet *cur_nodes, int k1, int k2)
 
int IsNodeSetEmpty (NodeSet *cur_nodes, int k)
 
void AddNodeSet2ToNodeSet1 (NodeSet *cur_nodes, int k1, int k2)
 
int AddNodesToRadEndpoints (CANON_GLOBALS *pCG, NodeSet *cur_nodes, int k, Vertex RadEndpoints[], Vertex vRad, int nStart, int nLen)
 
int SetBitCreate (CANON_GLOBALS *pCG)
 
int SetBitFree (CANON_GLOBALS *pCG)
 
void DeAllocBCN (BCN *pBCN)
 
int GetBaseCanonRanking (INCHI_CLOCK *ic, int num_atoms, int num_at_tg, sp_ATOM *at[], T_GROUP_INFO *t_group_info, ATOM_SIZES s[], BCN *pBCN, struct tagInchiTime *ulTimeOutTime, CANON_GLOBALS *pCG, int bFixIsoFixedH, int LargeMolecules)
 

Variables

static AT_NUMB rank_mark_bit
 
static AT_NUMB rank_mask_bit
 

Macro Definition Documentation

◆ BASE_H_NUMBER

#define BASE_H_NUMBER   ((INCHI_CANON_INFINITY-1)/2)

◆ CanonGraph01

#define CanonGraph01   CanonGraph

◆ CanonGraph02

#define CanonGraph02   CanonGraph

◆ CanonGraph03

#define CanonGraph03   CanonGraph

◆ CanonGraph04

#define CanonGraph04   CanonGraph

◆ CanonGraph05

#define CanonGraph05   CanonGraph

◆ CanonGraph06

#define CanonGraph06   CanonGraph

◆ CanonGraph07

#define CanonGraph07   CanonGraph

◆ CanonGraph08

#define CanonGraph08   CanonGraph

◆ CanonGraph09

#define CanonGraph09   CanonGraph

◆ CanonGraph10

#define CanonGraph10   CanonGraph

◆ CanonGraph11

#define CanonGraph11   CanonGraph

◆ CanonGraph12

#define CanonGraph12   CanonGraph

◆ ELEM_NAME_LEN

#define ELEM_NAME_LEN   2

◆ EMPTY_CT

#define EMPTY_CT   0

◆ EMPTY_H_NUMBER

#define EMPTY_H_NUMBER   (INCHI_CANON_INFINITY-1)

◆ EMPTY_ISO_SORT_KEY

#define EMPTY_ISO_SORT_KEY   LONG_MAX

◆ FREE_ARRAY [1/2]

#define FREE_ARRAY (   X)    if (X) inchi_free( X);

◆ FREE_ARRAY [2/2]

#define FREE_ARRAY (   X)    if (X) inchi_free( X);

◆ FREE_CONTABLE [1/2]

#define FREE_CONTABLE (   X)    if (X) {CTableFree( X);inchi_free( X);}

◆ FREE_CONTABLE [2/2]

#define FREE_CONTABLE (   X)    if (X) {CTableFree( X);inchi_free( X);}

◆ INCHI_CANON_INFINITY

#define INCHI_CANON_INFINITY   0x7FFF

◆ INCHI_CANON_MIN

#define INCHI_CANON_MIN

◆ MAX_CELLS

#define MAX_CELLS   32766

◆ MAX_LAYERS

#define MAX_LAYERS   100

◆ MAX_NODES

#define MAX_NODES   32766

◆ MAX_SET_SIZE

#define MAX_SET_SIZE   32766 /*16384*/

◆ NORMALLY_ALLOWED_MAX_SET_SIZE

#define NORMALLY_ALLOWED_MAX_SET_SIZE   2048

◆ QZFIX_OK

#define QZFIX_OK (   X)    ((X)<=0)

◆ SEPARATE_CANON_CALLS

#define SEPARATE_CANON_CALLS   0

Typedef Documentation

◆ Cell

typedef struct tagCell Cell

◆ ConTable

typedef struct tagCTable ConTable

◆ Graph

typedef NEIGH_LIST Graph

◆ kLeast

typedef struct tagkLeast kLeast

◆ Node

typedef AT_NUMB Node

◆ NV

typedef struct tagNodeValues NV

◆ Transposition

◆ UnorderedPartition

Function Documentation

◆ AddNodeSet2ToNodeSet1()

void AddNodeSet2ToNodeSet1 ( NodeSet cur_nodes,
int  k1,
int  k2 
)
+ Here is the caller graph for this function:

◆ AddNodesToRadEndpoints()

int AddNodesToRadEndpoints ( CANON_GLOBALS pCG,
NodeSet cur_nodes,
int  k,
Vertex  RadEndpoints[],
Vertex  vRad,
int  nStart,
int  nLen 
)
+ Here is the caller graph for this function:

◆ AllNodesAreInSet()

int AllNodesAreInSet ( NodeSet cur_nodes,
int  lcur_nodes,
NodeSet set,
int  lset 
)
+ Here is the caller graph for this function:

◆ CanonGraph()

int CanonGraph ( struct tagINCHI_CLOCK ic,
CANON_GLOBALS pCG,
int  n,
int  n_tg,
int  n_max,
int  bDigraph,
Graph G,
Partition  pi[],
AT_RANK nSymmRank,
AT_RANK nCanonRank,
AT_NUMB nAtomNumberCanon,
CANON_DATA pCD,
CANON_COUNTS pCC,
ConTable **  pp_zb_rho_inp,
ConTable **  pp_zb_rho_out,
int  LargeMolecules 
)
+ Here is the call graph for this function:

◆ CellGetMinNode()

Node CellGetMinNode ( Partition p,
Cell W,
Node  v,
CANON_DATA pCD 
)
+ Here is the caller graph for this function:

◆ CellGetNumberOfNodes()

int CellGetNumberOfNodes ( Partition p,
Cell W 
)
+ Here is the caller graph for this function:

◆ CellIntersectWithSet()

int CellIntersectWithSet ( struct tagCANON_GLOBALS pCG,
Partition p,
Cell W,
NodeSet Mcr,
int  l 
)
+ Here is the caller graph for this function:

◆ CellMakeEmpty()

void CellMakeEmpty ( Cell baseW,
int  k 
)
+ Here is the caller graph for this function:

◆ CleanCt()

int CleanCt ( AT_RANK Ct,
int  len 
)
+ Here is the caller graph for this function:

◆ CleanIsoSortKeys()

void CleanIsoSortKeys ( AT_ISO_SORT_KEY isk,
int  len 
)
+ Here is the caller graph for this function:

◆ CleanNumH()

void CleanNumH ( NUM_H NumH,
int  len 
)
+ Here is the caller graph for this function:

◆ CTableCreate()

int CTableCreate ( ConTable Ct,
int  n,
CANON_DATA pCD 
)
+ Here is the caller graph for this function:

◆ CTableFree()

void CTableFree ( ConTable Ct)
+ Here is the caller graph for this function:

◆ CtCompareLayersGetFirstDiff()

int CtCompareLayersGetFirstDiff ( kLeast kLeast_rho,
int  nOneAdditionalLayer,
int *  L_rho,
int *  I_rho,
int *  k_rho 
)
+ Here is the caller graph for this function:

◆ CtFullCompare()

int CtFullCompare ( ConTable Ct1,
ConTable Ct2,
int  bOnlyCommon,
int  bSplitTautCompare 
)
+ Here is the caller graph for this function:

◆ CtFullCompareLayers()

int CtFullCompareLayers ( kLeast kLeastForLayer)
+ Here is the caller graph for this function:

◆ CtFullCopy()

void CtFullCopy ( ConTable Ct1,
ConTable Ct2 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CtPartClear()

void CtPartClear ( ConTable Ct,
int  k 
)
+ Here is the caller graph for this function:

◆ CtPartCompare()

int CtPartCompare ( ConTable Ct1,
ConTable Ct2,
S_CHAR cmp,
kLeast kLeastForLayer,
int  k,
int  bOnlyCommon,
int  bSplitTautCompare 
)
+ Here is the caller graph for this function:

◆ CtPartCompareLayers()

int CtPartCompareLayers ( kLeast kLeast_rho,
int  L_rho_fix_prev,
int  nOneAdditionalLayer 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CtPartCopy()

void CtPartCopy ( ConTable Ct1,
ConTable Ct2,
int  k 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CtPartFill()

void CtPartFill ( Graph G,
CANON_DATA pCD,
Partition p,
ConTable Ct,
int  k,
int  n,
int  n_tg,
int  n_max 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CtPartINCHI_CANON_INFINITY()

void CtPartINCHI_CANON_INFINITY ( ConTable Ct,
S_CHAR cmp,
int  k 
)
+ Here is the caller graph for this function:

◆ DeAllocBCN()

void DeAllocBCN ( BCN pBCN)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DoNodeSetsIntersect()

int DoNodeSetsIntersect ( NodeSet cur_nodes,
int  k1,
int  k2 
)
+ Here is the caller graph for this function:

◆ FillOutAtomInvariant2()

void FillOutAtomInvariant2 ( sp_ATOM at,
int  num_atoms,
int  num_at_tg,
ATOM_INVARIANT2 pAtomInvariant,
int  bIgnoreIsotopic,
int  bHydrogensInRanks,
int  bHydrogensFixedInRanks,
int  bDigraph,
int  bTautGroupsOnly,
T_GROUP_INFO t_group_info 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetBaseCanonRanking()

int GetBaseCanonRanking ( INCHI_CLOCK ic,
int  num_atoms,
int  num_at_tg,
sp_ATOM at[],
T_GROUP_INFO t_group_info,
ATOM_SIZES  s[],
BCN pBCN,
struct tagInchiTime ulTimeOutTime,
CANON_GLOBALS pCG,
int  bFixIsoFixedH,
int  LargeMolecules 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetCanonRanking2()

int GetCanonRanking2 ( int  num_atoms,
int  num_at_tg,
int  num_max,
int  bDigraph,
sp_ATOM at,
AT_RANK **  pRankStack,
int  nNumPrevRanks,
AT_RANK nSymmRank,
AT_RANK nCanonRank,
NEIGH_LIST NeighList,
AT_RANK nTempRank,
CANON_STAT pCS 
)

◆ GetOneAdditionalLayer()

int GetOneAdditionalLayer ( CANON_DATA pCD,
ConTable pzb_rho_fix 
)
+ Here is the caller graph for this function:

◆ GetUnorderedPartitionMcrNode()

Node GetUnorderedPartitionMcrNode ( UnorderedPartition p1,
Node  v 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ insertions_sort_NeighList_AT_NUMBERS2()

void insertions_sort_NeighList_AT_NUMBERS2 ( NEIGH_LIST  base,
AT_RANK nRank,
AT_RANK  max_rj 
)
+ Here is the caller graph for this function:

◆ IsNodeSetEmpty()

int IsNodeSetEmpty ( NodeSet cur_nodes,
int  k 
)
+ Here is the caller graph for this function:

◆ MergeCleanIsoSortKeys()

void MergeCleanIsoSortKeys ( AT_ISO_SORT_KEY isk1,
AT_ISO_SORT_KEY isk2,
int  len 
)
+ Here is the caller graph for this function:

◆ nGetMcr2()

AT_RANK nGetMcr2 ( AT_RANK nEqArray,
AT_RANK  n 
)
+ Here is the caller graph for this function:

◆ nJoin2Mcrs2()

int nJoin2Mcrs2 ( AT_RANK nEqArray,
AT_RANK  n1,
AT_RANK  n2 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ NodeSetCreate()

int NodeSetCreate ( struct tagCANON_GLOBALS pCG,
NodeSet pSet,
int  n,
int  L 
)
+ Here is the caller graph for this function:

◆ NodeSetFree()

void NodeSetFree ( struct tagCANON_GLOBALS pCG,
NodeSet pSet 
)
+ Here is the caller graph for this function:

◆ NodeSetFromRadEndpoints()

void NodeSetFromRadEndpoints ( CANON_GLOBALS pCG,
NodeSet cur_nodes,
int  k,
Vertex  RadEndpoints[],
int  num_v 
)
+ Here is the caller graph for this function:

◆ NodeSetFromVertices()

void NodeSetFromVertices ( CANON_GLOBALS pCG,
NodeSet cur_nodes,
int  l,
Node v,
int  num_v 
)
+ Here is the caller graph for this function:

◆ PartitionColorVertex()

int PartitionColorVertex ( CANON_GLOBALS pCG,
Graph G,
Partition p,
Node  v,
int  n,
int  n_tg,
int  n_max,
int  bDigraph,
int  nNumPrevRanks 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PartitionCopy()

void PartitionCopy ( Partition To,
Partition From,
int  n 
)
+ Here is the caller graph for this function:

◆ PartitionCreate()

int PartitionCreate ( Partition p,
int  n 
)
+ Here is the caller graph for this function:

◆ PartitionFree()

void PartitionFree ( Partition p)
+ Here is the caller graph for this function:

◆ PartitionGetFirstCell()

int PartitionGetFirstCell ( Partition p,
Cell baseW,
int  k,
int  n 
)
+ Here is the caller graph for this function:

◆ PartitionGetMcrAndFixSet()

void PartitionGetMcrAndFixSet ( CANON_GLOBALS pCG,
Partition p,
NodeSet Mcr,
NodeSet Fix,
int  n,
int  l 
)
+ Here is the caller graph for this function:

◆ PartitionGetTransposition()

void PartitionGetTransposition ( Partition pFrom,
Partition pTo,
int  n,
Transposition gamma 
)
+ Here is the caller graph for this function:

◆ PartitionIsDiscrete()

int PartitionIsDiscrete ( Partition p,
int  n 
)
+ Here is the caller graph for this function:

◆ PartitionSatisfiesLemma_2_25()

int PartitionSatisfiesLemma_2_25 ( Partition p,
int  n 
)
+ Here is the caller graph for this function:

◆ RemoveFromNodeSet()

void RemoveFromNodeSet ( CANON_GLOBALS pCG,
NodeSet cur_nodes,
int  k,
Vertex  v[],
int  num_v 
)
+ Here is the caller graph for this function:

◆ SetBitCreate()

int SetBitCreate ( CANON_GLOBALS pCG)
+ Here is the caller graph for this function:

◆ SetBitFree()

int SetBitFree ( CANON_GLOBALS pCG)
+ Here is the caller graph for this function:

◆ SetInitialRanks2()

int SetInitialRanks2 ( int  num_atoms,
ATOM_INVARIANT2 pAtomInvariant2,
AT_RANK nNewRank,
AT_RANK nAtomNumber,
CANON_GLOBALS pCG 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TranspositionCreate()

int TranspositionCreate ( Transposition p,
int  n 
)
+ Here is the caller graph for this function:

◆ TranspositionFree()

void TranspositionFree ( Transposition p)
+ Here is the caller graph for this function:

◆ TranspositionGetMcrAndFixSetAndUnorderedPartition()

void TranspositionGetMcrAndFixSetAndUnorderedPartition ( struct tagCANON_GLOBALS pCG,
Transposition gamma,
NodeSet McrSet,
NodeSet FixSet,
int  n,
int  l,
UnorderedPartition p 
)
+ Here is the caller graph for this function:

◆ UnorderedPartitionCreate()

int UnorderedPartitionCreate ( UnorderedPartition p,
int  n 
)
+ Here is the caller graph for this function:

◆ UnorderedPartitionFree()

void UnorderedPartitionFree ( UnorderedPartition p)
+ Here is the caller graph for this function:

◆ UnorderedPartitionJoin()

int UnorderedPartitionJoin ( UnorderedPartition p1,
UnorderedPartition p2,
int  n 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UnorderedPartitionMakeDiscrete()

void UnorderedPartitionMakeDiscrete ( UnorderedPartition p,
int  n 
)
+ Here is the caller graph for this function:

◆ UpdateCompareLayers()

void UpdateCompareLayers ( kLeast  kLeastForLayer[],
int  hzz 
)
+ Here is the caller graph for this function:

◆ WriteGraph()

int WriteGraph ( Graph G,
int  n,
int  gnum,
char *  fname,
char *  fmode 
)

Variable Documentation

◆ rank_mark_bit

AT_NUMB rank_mark_bit
static

◆ rank_mask_bit

AT_NUMB rank_mask_bit
static