PLearn 0.1
|
#include <SampleVariable.h>
Public Member Functions | |
MultinomialSampleVariable (Variable *probabilities, int length=1, int width=1) | |
virtual MultinomialSampleVariable * | deepCopy (CopiesMap &copies) const |
virtual string | classname () const |
virtual void | fprop () |
Nothing to do by default. | |
Protected Attributes | |
char | name [50] |
Definition at line 105 of file SampleVariable.h.
PLearn::MultinomialSampleVariable::MultinomialSampleVariable | ( | Variable * | probabilities, |
int | length = 1 , |
||
int | width = 1 |
||
) |
Definition at line 133 of file SampleVariable.cc.
References name.
Referenced by deepCopy().
:UnarySampleVariable(probabilities, length, width) { sprintf(name,"Multinomial[%dx%d]",length,width); }
string PLearn::MultinomialSampleVariable::classname | ( | ) | const [virtual] |
Reimplemented from PLearn::UnarySampleVariable.
Definition at line 130 of file SampleVariable.cc.
{ return "MultinomialSampleVariable"; }
MultinomialSampleVariable * PLearn::MultinomialSampleVariable::deepCopy | ( | CopiesMap & | copies | ) | const [virtual] |
Reimplemented from PLearn::UnaryVariable.
Definition at line 140 of file SampleVariable.cc.
References PLearn::UnaryVariable::makeDeepCopyFromShallowCopy(), and MultinomialSampleVariable().
{ CopiesMap::iterator it = copies.find(this); if (it!=copies.end()) // a copy already exists, so return it return (MultinomialSampleVariable*)it->second; // Otherwise call the copy constructor to obtain a SHALLOW copy MultinomialSampleVariable* deep_copy = new MultinomialSampleVariable(*this); // Put the copy in the map copies[this] = deep_copy; // Transform the shallow copy into a deep copy deep_copy->makeDeepCopyFromShallowCopy(copies); // return the completed deep_copy return deep_copy; }
void PLearn::MultinomialSampleVariable::fprop | ( | ) | [virtual] |
Nothing to do by default.
Reimplemented from PLearn::UnaryVariable.
Definition at line 156 of file SampleVariable.cc.
References PLearn::UnaryVariable::input, PLearn::multinomial_sample(), PLearn::Variable::nelems(), and PLearn::Variable::valuedata.
{ for (int k=0;k<nelems();k++) valuedata[k] = multinomial_sample(input->value); }
char PLearn::MultinomialSampleVariable::name[50] [protected] |
Definition at line 108 of file SampleVariable.h.
Referenced by MultinomialSampleVariable().