gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
6 #ifndef SIMPLE_FUNCTION_H
7 #define SIMPLE_FUNCTION_H
25 virtual void gradient(
double x,
double y,
double z, scalar &dfdx,
26 scalar &dfdy, scalar &dfdz)
const
28 dfdx = dfdy = dfdz = 0.0;
30 virtual void hessian(
double x,
double y,
double z, scalar &dfdxx,
31 scalar &dfdxy, scalar &dfdxz, scalar &dfdyx,
32 scalar &dfdyy, scalar &dfdyz, scalar &dfdzx,
33 scalar &dfdzy, scalar &dfdzz)
const
35 dfdxx = dfdxy = dfdxz = 0.0;
36 dfdyx = dfdyy = dfdyz = 0.0;
37 dfdzx = dfdzy = dfdzz = 0.0;
41 template <
class scalar>
43 std::map<MElement *, scalar>
_data;
53 typename std::map<MElement *, scalar>::const_iterator it =
_data.find(
_e);
54 if(it ==
_data.end())
return 0.0;
59 template <
class scalar>
virtual scalar operator()(double x, double y, double z) const
virtual void hessian(double x, double y, double z, scalar &dfdxx, scalar &dfdxy, scalar &dfdxz, scalar &dfdyx, scalar &dfdyy, scalar &dfdyz, scalar &dfdzx, scalar &dfdzy, scalar &dfdzz) const
virtual ~simpleFunctionOnElement()
virtual void gradient(double x, double y, double z, scalar &dfdx, scalar &dfdy, scalar &dfdz) const
virtual void setElement(MElement *e) const
std::map< MElement *, scalar > _data
virtual scalar operator()(double x, double y, double z) const
void setElement(MElement *e) const
simpleFunctionOnElement(scalar val=0)
MElement * getElement(void) const
void setElement(MElement *e) const
simpleFunction(scalar val=0.0)
void set(MElement *e, scalar v)
MElement * getElement(double x, double y, double z) const
virtual bool hasDerivatives()
virtual ~simpleFunction()