|
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().
1.7.4