PLearn 0.1
Public Member Functions | Protected Attributes | Private Types
PLearn::SDBVMFieldSignedPower Class Reference

Do the following : y = x^a. More...

#include <SDBVMat.h>

Inheritance diagram for PLearn::SDBVMFieldSignedPower:
Inheritance graph
[legend]
Collaboration diagram for PLearn::SDBVMFieldSignedPower:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 SDBVMFieldSignedPower (SDBVMSource source, real a, real missing_values_mapping=MISSING_VALUE)
virtual void convertField (const SDBWithStats &sdb, const Row &row, const Vec &output) const
virtual int fieldWidth () const
 Width that the field occupies in the VMat.

Protected Attributes

real a_

Private Types

typedef SDBVMFieldSource1 inherited

Detailed Description

Do the following : y = x^a.

Definition at line 424 of file SDBVMat.h.


Member Typedef Documentation

Reimplemented from PLearn::SDBVMFieldSource1.

Definition at line 426 of file SDBVMat.h.


Constructor & Destructor Documentation

PLearn::SDBVMFieldSignedPower::SDBVMFieldSignedPower ( SDBVMSource  source,
real  a,
real  missing_values_mapping = MISSING_VALUE 
) [inline]

Definition at line 429 of file SDBVMat.h.

References PLERROR.

        : inherited(source,missing_values_mapping,VMField::Continuous),
          a_(a)
    {
        if (a_<=0.0 || a_>=1.0)
            PLERROR("Bad range for a (%f), must be in ]0,1[", a_);
    }

Member Function Documentation

void PLearn::SDBVMFieldSignedPower::convertField ( const SDBWithStats sdb,
const Row theRow,
const Vec outputField 
) const [virtual]

Given a database row, convert the appropriate parts to a (preallocated) output vector of the correct width (given by fieldWidth). Replace MISSING_VALUEs by missing_values_mapping.

Implements PLearn::SDBVMField.

Definition at line 386 of file SDBVMat.cc.

References a_, PLearn::SDBVMField::convertMissing(), PLearn::SDBVMSource::getValue(), PLearn::mypow(), PLearn::SDBVMFieldSource1::source_, and x.

{
    real x = source_.getValue(sdb,row);
    real sign_x = x>=0.0 ? 1.0 : -1.0;
    output[0] = sign_x * mypow(x*sign_x, a_);
    convertMissing(output);
}

Here is the call graph for this function:

int PLearn::SDBVMFieldSignedPower::fieldWidth ( ) const [virtual]

Width that the field occupies in the VMat.

Implements PLearn::SDBVMField.

Definition at line 395 of file SDBVMat.cc.

{
    return 1;
}

Member Data Documentation

Definition at line 444 of file SDBVMat.h.

Referenced by convertField().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines