gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
ConjugateGradients.cpp File Reference
#include <algorithm>
#include <math.h>
#include "GmshMessage.h"
#include "ConjugateGradients.h"
Include dependency graph for ConjugateGradients.cpp:

Go to the source code of this file.

Functions

static double _norm (std::vector< double > &x)
 
static void scale (std::vector< double > &x, double s)
 
static void gmshLineSearch (void(*func)(std::vector< double > &x, double &Obj, bool needGrad, std::vector< double > &gradObj, void *), void *data, std::vector< double > &x, std::vector< double > &p, std::vector< double > &g, double &f, double stpmax, int &check)
 
double GradientDescent (void(*func)(std::vector< double > &x, double &Obj, bool needGrad, std::vector< double > &gradObj, void *), std::vector< double > &x, void *data)
 

Function Documentation

◆ _norm()

static double _norm ( std::vector< double > &  x)
static

Definition at line 15 of file ConjugateGradients.cpp.

Referenced by gmshLineSearch().

Here is the caller graph for this function:

◆ gmshLineSearch()

static void gmshLineSearch ( void(*)(std::vector< double > &x, double &Obj, bool needGrad, std::vector< double > &gradObj, void *)  func,
void *  data,
std::vector< double > &  x,
std::vector< double > &  p,
std::vector< double > &  g,
double &  f,
double  stpmax,
int &  check 
)
static

Definition at line 26 of file ConjugateGradients.cpp.

Referenced by GradientDescent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GradientDescent()

double GradientDescent ( void(*)(std::vector< double > &x, double &Obj, bool needGrad, std::vector< double > &gradObj, void *)  func,
std::vector< double > &  x,
void *  data 
)

Definition at line 120 of file ConjugateGradients.cpp.

Here is the call graph for this function:

◆ scale()