📄 slaveforward.3.man
字号:
SLAVEFORWARD(derived)FORWARD OPERATORS SLAVEFORWARD(derived) Nov 20 10:03NAME SlaveForwardSYNOPSIS #include <SlaveForward.hh> class SlaveForward: public Forward \fIPublic members\fP SlaveForward(int,int,AString&,const AString&,int); ~SlaveForward(); const char* className() const; List<double> dataList(const Model<double>&); List<double> dataList(const Model<long>&); Vector<double>* gradient(const Model<double>&); Vector<double>* gradient(const Model<long>&); \fIPrivate members\fP AString command; AString cmdargs; char* ptyfile; char* ttyfile; int master_fd; int slave_fd; char* linebuffer; int runCommand(const AString&, const AString&); int makePtyName(); int getMasterFD(); int getSlaveFD();DESCRIPTION SlaveForward is a class for user-defined forward operators. SlaveForward almost a duplicate of the class Slave- ObjectiveFunction in UGA developed by Martin Smith of NER. It provides a communication of the optimization and user- suppiled objective-function evaluation program. The executable of this prgram is invoked by SlaveForward, so they can be written in any programming language. COOOL does not know about this program, it only requires the supply of the result. The scheme of this class is adopted from that of EXPECT written by Don Libe. DESCRIPTION Constructor SlaveForward(ndim,ndat,cmdstr,argstr,verb): ndim: number of dimensions of Model space; ndat: number of output. Usually nat=1, the output is the result of objective-function evaluation; cmdstr: SlaveForward invokes an executable file with the name of AString cmdstr; argstr: SlaveForward invokes cmstr with arguments argstr; verb: =1, verbose, or quiet; Others: char* className(): returns name of the class; List<double> dataList(const m): returns the evaluated objective function from the objective function with Model m; if ndat=1, it returns the value of objective function evaluation. Vector<double>* gradient(const m): returns the gradient value evaluated at the Model m.CAVEATS SlaveForward currently only takes Models either double or long integer. It is mostly because I tried to avoid using templates, due to the ugliness of template features in G++. Hopefully, this could be changed soon.DEFINED MACROS SLAVE_FORWARD_HHINCLUDED FILES <stream.h> <C++.hh> "Forward.hh"SOURCE FILES SlaveForward.cc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -