
Public Member Functions | |
| CDistance () | |
| CDistance (CFeatures *lhs, CFeatures *rhs) | |
| virtual | ~CDistance () |
| float64_t | distance (int32_t idx_a, int32_t idx_b) |
| void | get_distance_matrix (float64_t **dst, int32_t *m, int32_t *n) |
| virtual float64_t * | get_distance_matrix_real (int32_t &m, int32_t &n, float64_t *target) |
| virtual float32_t * | get_distance_matrix_shortreal (int32_t &m, int32_t &n, float32_t *target) |
| virtual bool | init (CFeatures *lhs, CFeatures *rhs) |
| virtual void | cleanup ()=0 |
| bool | load (char *fname) |
| bool | save (char *fname) |
| virtual bool | load_init (FILE *src)=0 |
| virtual bool | save_init (FILE *dest)=0 |
| CFeatures * | get_lhs () |
| CFeatures * | get_rhs () |
| virtual void | remove_lhs () |
| takes all necessary steps if the lhs is removed from distance matrix | |
| virtual void | remove_rhs () |
| takes all necessary steps if the rhs is removed from distance matrix | |
| virtual EDistanceType | get_distance_type ()=0 |
| virtual EFeatureType | get_feature_type ()=0 |
| virtual EFeatureClass | get_feature_class ()=0 |
| virtual const char * | get_name ()=0 |
| bool | get_precompute_matrix () |
| virtual void | set_precompute_matrix (bool flag) |
Protected Member Functions | |
| virtual float64_t | compute (int32_t x, int32_t y)=0 |
| void | do_precompute_matrix () |
| matrix precomputation | |
Protected Attributes | |
| float32_t * | precomputed_matrix |
| bool | precompute_matrix |
| CFeatures * | lhs |
| feature vectors to occur on left hand side | |
| CFeatures * | rhs |
| feature vectors to occur on right hand side | |
Definition at line 45 of file Distance.h.
| CDistance::CDistance | ( | ) |
default constructor
Definition at line 30 of file Distance.cpp.
init distance
| lhs | features of left-hand side | |
| rhs | features of right-hand side |
Definition at line 37 of file Distance.cpp.
| CDistance::~CDistance | ( | ) | [virtual] |
Definition at line 44 of file Distance.cpp.
| virtual void CDistance::cleanup | ( | ) | [pure virtual] |
cleanup distance
abstract base method
Implemented in CBrayCurtisDistance, CCanberraMetric, CCanberraWordDistance, CChebyshewMetric, CChiSquareDistance, CCosineDistance, CEuclidianDistance, CGeodesicMetric, CHammingWordDistance, CJensenMetric, CManhattanMetric, CManhattanWordDistance, CMinkowskiMetric, CSparseEuclidianDistance, and CTanimotoDistance.
| virtual float64_t CDistance::compute | ( | int32_t | x, | |
| int32_t | y | |||
| ) | [protected, pure virtual] |
compute distance function for features a and b idx_{a,b} denote the index of the feature vectors in the corresponding feature object
Implemented in CBrayCurtisDistance, CCanberraMetric, CCanberraWordDistance, CChebyshewMetric, CChiSquareDistance, CCosineDistance, CEuclidianDistance, CGeodesicMetric, CHammingWordDistance, CJensenMetric, CManhattanMetric, CManhattanWordDistance, CMinkowskiMetric, CSparseEuclidianDistance, and CTanimotoDistance.
| float64_t CDistance::distance | ( | int32_t | idx_a, | |
| int32_t | idx_b | |||
| ) |
get distance function for lhs feature vector a and rhs feature vector b
| idx_a | feature vector a at idx_a | |
| idx_b | feature vector b at idx_b |
Definition at line 67 of file Distance.h.
| void CDistance::do_precompute_matrix | ( | ) | [protected] |
| void CDistance::get_distance_matrix | ( | float64_t ** | dst, | |
| int32_t * | m, | |||
| int32_t * | n | |||
| ) |
get distance matrix
| dst | distance matrix is stored in here | |
| m | dimension m of matrix is stored in here | |
| n | dimension n of matrix is stored in here |
Definition at line 143 of file Distance.cpp.
| float64_t * CDistance::get_distance_matrix_real | ( | int32_t & | m, | |
| int32_t & | n, | |||
| float64_t * | target | |||
| ) | [virtual] |
get distance matrix real
| m | dimension m | |
| n | dimension n | |
| target | target matrix |
Definition at line 279 of file Distance.cpp.
| float32_t * CDistance::get_distance_matrix_shortreal | ( | int32_t & | m, | |
| int32_t & | n, | |||
| float32_t * | target | |||
| ) | [virtual] |
get distance matrix short real
| m | dimension m | |
| n | dimension n | |
| target | target matrix |
Definition at line 210 of file Distance.cpp.
| virtual EDistanceType CDistance::get_distance_type | ( | ) | [pure virtual] |
get distance type we are
abstrace base method
Implemented in CBrayCurtisDistance, CCanberraMetric, CCanberraWordDistance, CChebyshewMetric, CChiSquareDistance, CCosineDistance, CEuclidianDistance, CGeodesicMetric, CHammingWordDistance, CJensenMetric, CManhattanMetric, CManhattanWordDistance, CMinkowskiMetric, CSparseEuclidianDistance, and CTanimotoDistance.
| virtual EFeatureClass CDistance::get_feature_class | ( | ) | [pure virtual] |
get feature class the distance can deal with
abstract base method
Implemented in CSimpleDistance< ST >, CSparseDistance< ST >, CStringDistance< ST >, CSimpleDistance< float64_t >, CSparseDistance< float64_t >, and CStringDistance< uint16_t >.
| virtual EFeatureType CDistance::get_feature_type | ( | ) | [pure virtual] |
get feature type the distance can deal with
abstrace base method
Implemented in CEuclidianDistance, CRealDistance, CSimpleDistance< ST >, CSparseDistance< ST >, CSparseEuclidianDistance, CStringDistance< ST >, CSimpleDistance< float64_t >, CSparseDistance< float64_t >, CStringDistance< uint16_t >, CSimpleDistance< ST >, CSimpleDistance< ST >, CSimpleDistance< ST >, CSimpleDistance< ST >, CSimpleDistance< ST >, CSimpleDistance< ST >, CSparseDistance< ST >, CSparseDistance< ST >, CSparseDistance< ST >, CSparseDistance< ST >, CSparseDistance< ST >, CSparseDistance< ST >, CStringDistance< ST >, CStringDistance< ST >, CStringDistance< ST >, CStringDistance< ST >, CStringDistance< ST >, and CStringDistance< ST >.
| CFeatures* CDistance::get_lhs | ( | ) |
get left-hand side features used in distance matrix
Definition at line 181 of file Distance.h.
| virtual const char* CDistance::get_name | ( | ) | [pure virtual] |
get name of the distance
abstrace base method
Implemented in CBrayCurtisDistance, CCanberraMetric, CCanberraWordDistance, CChebyshewMetric, CChiSquareDistance, CCosineDistance, CEuclidianDistance, CGeodesicMetric, CHammingWordDistance, CJensenMetric, CManhattanMetric, CManhattanWordDistance, CMinkowskiMetric, CSparseEuclidianDistance, and CTanimotoDistance.
| bool CDistance::get_precompute_matrix | ( | ) |
FIXME: precompute matrix should be dropped, handling should be via customdistance
Definition at line 233 of file Distance.h.
| CFeatures* CDistance::get_rhs | ( | ) |
get right-hand side features used in distance matrix
Definition at line 187 of file Distance.h.
init distance
make sure to check that your distance can deal with the supplied features (!)
| lhs | features of left-hand side | |
| rhs | features of right-hand side |
Reimplemented in CBrayCurtisDistance, CCanberraMetric, CCanberraWordDistance, CChebyshewMetric, CChiSquareDistance, CCosineDistance, CEuclidianDistance, CGeodesicMetric, CHammingWordDistance, CJensenMetric, CManhattanMetric, CManhattanWordDistance, CMinkowskiMetric, CRealDistance, CSimpleDistance< ST >, CSparseDistance< ST >, CSparseEuclidianDistance, CStringDistance< ST >, CTanimotoDistance, CSimpleDistance< float64_t >, CSparseDistance< float64_t >, and CStringDistance< uint16_t >.
Definition at line 50 of file Distance.cpp.
| bool CDistance::load | ( | char * | fname | ) |
load distance matrix from file
| fname | filename to load from |
Definition at line 69 of file Distance.cpp.
| virtual bool CDistance::load_init | ( | FILE * | src | ) | [pure virtual] |
load init data from file
abstract base method
| src | file to load from |
Implemented in CBrayCurtisDistance, CCanberraMetric, CCanberraWordDistance, CChebyshewMetric, CChiSquareDistance, CCosineDistance, CEuclidianDistance, CGeodesicMetric, CHammingWordDistance, CJensenMetric, CManhattanMetric, CManhattanWordDistance, CMinkowskiMetric, CSparseEuclidianDistance, and CTanimotoDistance.
| void CDistance::remove_lhs | ( | ) | [virtual] |
takes all necessary steps if the lhs is removed from distance matrix
Definition at line 105 of file Distance.cpp.
| void CDistance::remove_rhs | ( | ) | [virtual] |
takes all necessary steps if the rhs is removed from distance matrix
takes all necessary steps if the rhs is removed from kernel
Definition at line 112 of file Distance.cpp.
| bool CDistance::save | ( | char * | fname | ) |
save distance matrix to file
| fname | filename to save to |
Definition at line 74 of file Distance.cpp.
| virtual bool CDistance::save_init | ( | FILE * | dest | ) | [pure virtual] |
save init data to file
abstrace base method
| dest | file to save to |
Implemented in CBrayCurtisDistance, CCanberraMetric, CCanberraWordDistance, CChebyshewMetric, CChiSquareDistance, CCosineDistance, CEuclidianDistance, CGeodesicMetric, CHammingWordDistance, CJensenMetric, CManhattanMetric, CManhattanWordDistance, CMinkowskiMetric, CSparseEuclidianDistance, and CTanimotoDistance.
| virtual void CDistance::set_precompute_matrix | ( | bool | flag | ) | [virtual] |
FIXME: precompute matrix should be dropped, handling should be via customdistance
| flag | if precompute_matrix |
Definition at line 240 of file Distance.h.
CFeatures* CDistance::lhs [protected] |
bool CDistance::precompute_matrix [protected] |
FIXME: precompute matrix should be dropped, handling should be via customdistance
Definition at line 269 of file Distance.h.
float32_t* CDistance::precomputed_matrix [protected] |
FIXME: precompute matrix should be dropped, handling should be via customdistance
Definition at line 264 of file Distance.h.
CFeatures* CDistance::rhs [protected] |