Sleipnir
Public Member Functions
Sleipnir::CMeasureHypergeometric Class Reference

Calculate the hypergeometric p-value of overlap between two boolean vectors (centering and weights ignored). More...

#include <measure.h>

Inheritance diagram for Sleipnir::CMeasureHypergeometric:
Sleipnir::IMeasure

Public Member Functions

double Measure (const float *adX, size_t iN, const float *adY, size_t iM, EMap eMap=EMapNone, const float *adWX=NULL, const float *adWY=NULL) const
 Calculate the measure between two given vectors with optional element weights.
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.

Detailed Description

Calculate the hypergeometric p-value of overlap between two boolean vectors (centering and weights ignored).

Returns the hypergeometric p-value of overlap given two boolean vectors, counting the total number of nonzero entries, the number of nonzero entries in each vector, and the number of positions in which both vectors are nonzero.

Definition at line 600 of file measure.h.


Member Function Documentation

IMeasure* Sleipnir::CMeasureHypergeometric::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 613 of file measure.h.

const char* Sleipnir::CMeasureHypergeometric::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 605 of file measure.h.

bool Sleipnir::CMeasureHypergeometric::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 609 of file measure.h.

double Sleipnir::CMeasureHypergeometric::Measure ( const float *  adX,
size_t  iN,
const float *  adY,
size_t  iM,
EMap  eMap = EMapNone,
const float *  adWX = NULL,
const float *  adWY = NULL 
) const [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 795 of file measure.cpp.

References Sleipnir::CMeta::GetNaN(), Sleipnir::CStatistics::HypergeometricCDF(), and Sleipnir::CMeta::IsNaN().


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