NCBI C++ ToolKit
Functions
gme.cpp File Reference
#include <ncbi_pch.hpp>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "graph.h"
#include "fastme.h"
+ Include dependency graph for gme.cpp:

Go to the source code of this file.

Go to the SVN repository for this file.

Functions

meEdgesiblingEdge (meEdge *e)
 
boolean leaf (meNode *v)
 
meEdgedepthFirstTraverse (meTree *T, meEdge *e)
 
meEdgetopFirstTraverse (meTree *T, meEdge *e)
 
void fillTableUp (meEdge *e, meEdge *f, double **A, double **D, meTree *T)
 
void updateSizes (meEdge *e, int direction)
 
void OLSext (meEdge *e, double **A)
 
double wf (double lambda, double D_LR, double D_LU, double D_LD, double D_RU, double D_RD, double D_DU)
 
void OLSint (meEdge *e, double **A)
 
void assignOLSWeights (meTree *T, double **A)
 
void makeOLSAveragesTable (meTree *T, double **D, double **A)
 
void GMEcalcDownAverage (meNode *v, meEdge *e, double **D, double **A)
 
void GMEcalcUpAverage (meNode *v, meEdge *e, double **D, double **A)
 
void GMEcalcNewvAverages (meTree *T, meNode *v, double **D, double **A)
 
double wf4 (double lambda, double lambda2, double D_AB, double D_AC, double D_BC, double D_Av, double D_Bv, double D_Cv)
 
void testEdge (meEdge *e, meNode *v, double **A)
 
void printDoubleTable (double **A, int d)
 
void GMEsplitEdge (meTree *T, meNode *v, meEdge *e, double **A)
 
meTreeGMEaddSpecies (meTree *T, meNode *v, double **D, double **A)
 
void updateSubTreeAverages (double **A, meEdge *e, meNode *v, int direction)
 
void GMEupdateAveragesMatrix (double **A, meEdge *e, meNode *v, meNode *newNode)
 
void assignBottomsize (meEdge *e)
 
void assignTopsize (meEdge *e, int numLeaves)
 
void assignAllSizeFields (meTree *T)
 

Function Documentation

◆ assignAllSizeFields()

void assignAllSizeFields ( meTree T)

Definition at line 676 of file gme.cpp.

References assignBottomsize(), assignTopsize(), and T.

Referenced by fastme_run().

◆ assignBottomsize()

void assignBottomsize ( meEdge e)

Definition at line 653 of file gme.cpp.

References meEdge::bottomsize, meEdge::head, leaf(), meNode::leftEdge, and meNode::rightEdge.

Referenced by assignAllSizeFields().

◆ assignOLSWeights()

void assignOLSWeights ( meTree T,
double **  A 
)

Definition at line 106 of file gme.cpp.

References depthFirstTraverse(), meEdge::head, leaf(), NULL, OLSext(), OLSint(), T, and meEdge::tail.

Referenced by fastme_run().

◆ assignTopsize()

void assignTopsize ( meEdge e,
int  numLeaves 
)

◆ depthFirstTraverse()

meEdge* depthFirstTraverse ( meTree T,
meEdge e 
)

Definition at line 65 of file traverse.cpp.

Referenced by assignOLSWeights(), GMEcalcNewvAverages(), and makeOLSAveragesTable().

◆ fillTableUp()

void fillTableUp ( meEdge e,
meEdge f,
double **  A,
double **  D,
meTree T 
)

◆ GMEaddSpecies()

meTree* GMEaddSpecies ( meTree T,
meNode v,
double **  D,
double **  A 
)

◆ GMEcalcDownAverage()

void GMEcalcDownAverage ( meNode v,
meEdge e,
double **  D,
double **  A 
)

◆ GMEcalcNewvAverages()

void GMEcalcNewvAverages ( meTree T,
meNode v,
double **  D,
double **  A 
)

Definition at line 224 of file gme.cpp.

References depthFirstTraverse(), GMEcalcDownAverage(), GMEcalcUpAverage(), NULL, T, and topFirstTraverse().

Referenced by GMEaddSpecies().

◆ GMEcalcUpAverage()

void GMEcalcUpAverage ( meNode v,
meEdge e,
double **  D,
double **  A 
)

◆ GMEsplitEdge()

void GMEsplitEdge ( meTree T,
meNode v,
meEdge e,
double **  A 
)

◆ GMEupdateAveragesMatrix()

void GMEupdateAveragesMatrix ( double **  A,
meEdge e,
meNode v,
meNode newNode 
)

◆ leaf()

boolean leaf ( meNode v)

◆ makeOLSAveragesTable()

void makeOLSAveragesTable ( meTree T,
double **  D,
double **  A 
)

◆ OLSext()

void OLSext ( meEdge e,
double **  A 
)

◆ OLSint()

void OLSint ( meEdge e,
double **  A 
)

◆ printDoubleTable()

void printDoubleTable ( double **  A,
int  d 
)

Definition at line 281 of file gme.cpp.

References i.

◆ siblingEdge()

meEdge* siblingEdge ( meEdge e)

◆ testEdge()

void testEdge ( meEdge e,
meNode v,
double **  A 
)

◆ topFirstTraverse()

meEdge* topFirstTraverse ( meTree T,
meEdge e 
)

Definition at line 107 of file traverse.cpp.

Referenced by GMEaddSpecies(), and GMEcalcNewvAverages().

◆ updateSizes()

void updateSizes ( meEdge e,
int  direction 
)

◆ updateSubTreeAverages()

void updateSubTreeAverages ( double **  A,
meEdge e,
meNode v,
int  direction 
)

◆ wf()

double wf ( double  lambda,
double  D_LR,
double  D_LU,
double  D_LD,
double  D_RU,
double  D_RD,
double  D_DU 
)

Definition at line 78 of file gme.cpp.

References lambda(), and weight.

Referenced by CTextUtil::AddWordFrequencies(), CWindowManagerService::InitService(), and OLSint().

◆ wf4()

double wf4 ( double  lambda,
double  lambda2,
double  D_AB,
double  D_AC,
double  D_BC,
double  D_Av,
double  D_Bv,
double  D_Cv 
)

Definition at line 247 of file gme.cpp.

References lambda().

Referenced by testEdge().

Modified on Tue May 21 10:58:51 2024 by modify_doxy.py rev. 669887