Sleipnir
Public Member Functions
Sleipnir::CMeasureInvert Class Reference

Inverts an underlying measure by inverting its result (dividing one by the value). More...

#include <measure.h>

Inheritance diagram for Sleipnir::CMeasureInvert:
Sleipnir::CMeasureImpl Sleipnir::IMeasure

Public Member Functions

 CMeasureInvert (const IMeasure *pMeasure, bool fMemory)
 Construct a new inversion measure wrapping the given underlying measure.
const char * GetName () const
 Return the human-readable unique identifier of the measure type.
bool IsRank () const
 Return true if the measure requires rank-based integer inputs.
IMeasureClone () const
 Create a copy of the current measure object.
double Measure (const float *adX, size_t iM, const float *adY, size_t iN, EMap eMap, const float *adWX, const float *adWY) const
 Calculate the measure between two given vectors with optional element weights.

Detailed Description

Inverts an underlying measure by inverting its result (dividing one by the value).

See also:
CMeasureSigmoid | CMeasureNegate

Definition at line 254 of file measure.h.


Constructor & Destructor Documentation

Sleipnir::CMeasureInvert::CMeasureInvert ( const IMeasure pMeasure,
bool  fMemory 
) [inline]

Construct a new inversion measure wrapping the given underlying measure.

Parameters:
pMeasureMeasure whose result should be inverted.
fMemoryIf true, the new inversion measure is responsible for releasing the underlying measure's memory.
Remarks:
If fMemory is true, the inversion measure will delete pMeasure when it is destroyed; otherwise, it will only hold a reference.

Definition at line 270 of file measure.h.

Referenced by Clone().


Member Function Documentation

IMeasure* Sleipnir::CMeasureInvert::Clone ( ) const [inline, virtual]

Create a copy of the current measure object.

Returns:
Copy of the current measure object.
Remarks:
Caller is, of course, responsible for destroying the created object.

Implements Sleipnir::IMeasure.

Definition at line 280 of file measure.h.

References Sleipnir::IMeasure::Clone(), and CMeasureInvert().

const char* Sleipnir::CMeasureInvert::GetName ( ) const [inline, virtual]

Return the human-readable unique identifier of the measure type.

Returns:
The string identifier of the measure type.

Implements Sleipnir::IMeasure.

Definition at line 272 of file measure.h.

References Sleipnir::IMeasure::GetName().

bool Sleipnir::CMeasureInvert::IsRank ( ) const [inline, virtual]

Return true if the measure requires rank-based integer inputs.

Returns:
True if the measure requires rank-based input vectors.
Remarks:
The input vectors for rank measures should contain only floating point values with no fractional part; behavior is undefined if they don't.

Implements Sleipnir::IMeasure.

Definition at line 276 of file measure.h.

References Sleipnir::IMeasure::IsRank().

double Sleipnir::CMeasureInvert::Measure ( const float *  adX,
size_t  iN,
const float *  adY,
size_t  iM,
EMap  eMap,
const float *  adWX,
const float *  adWY 
) const [inline, virtual]

Calculate the measure between two given vectors with optional element weights.

Parameters:
adXFirst array of values.
iNLength of first array.
adYSecond array of values.
iMLength of second array.
eMapWay in which returned value should be centered (implementation-specific).
adWXIf non-null, weights of elements in the first array.
adWYIf non-null, weights of elements in the second array.
Returns:
Measure calculated between the two input vectors and, optionally, weights.
Remarks:
Pretty much every implementation will puke if given bad input; bounds checking etc. is minimal.

Implements Sleipnir::IMeasure.

Definition at line 284 of file measure.h.

References Sleipnir::IMeasure::Measure().


The documentation for this class was generated from the following file: