1#ifndef FSTDISTANCEEUCLID_H
2#define FSTDISTANCEEUCLID_H
91template<
typename DATATYPE,
typename DIMTYPE,
class SUBSET>
92class Distance_Euclid :
public Clonable_Impl<Distance_Euclid<DATATYPE,DIMTYPE,SUBSET>,Distance<DATATYPE,DIMTYPE,SUBSET> > {
96 Distance_Euclid() {
notify(
"Distance_Euclid (empty) constructor.");}
103 virtual DATATYPE
distance(
const DATATYPE *pattern1,
const DATATYPE *pattern2)
override;
107 virtual std::ostream&
print(std::ostream& os)
const override {os <<
"Distance_Euclid()";
return os;}
110template<
typename DATATYPE,
typename DIMTYPE,
class SUBSET>
115 assert(pattern1!=
nullptr);
116 assert(pattern2!=
nullptr);
122 tmp=(pattern1[index_i]-pattern2[index_i]);
CRTP mixin implementing the Clonable protocol for a concrete class.
Definition clonable.hpp:184
Implements Euclidean (L_2) distance.
Definition distance_euclid.hpp:92
virtual std::ostream & print(std::ostream &os) const override
writes a human-readable identification of the object; base default writes nothing
Definition distance_euclid.hpp:107
Clonable_Impl< Distance_Euclid, parent > parent_impl
implements clone(); sharing/stateless_clone throw in Distance
Definition distance_euclid.hpp:95
Distance< DATATYPE, DIMTYPE, SUBSET > parent
base class: the abstract distance interface
Definition distance_euclid.hpp:94
virtual DATATYPE distance(const DATATYPE *pattern1, const DATATYPE *pattern2) override
Distance between two raw patterns over the currently active features only. Reads exactly get_d() entr...
Definition distance_euclid.hpp:111
Distance_Euclid(const Distance_Euclid &de)
Copy-constructor; delegates to parent_impl (deep-copies the current _index[] mapping).
Definition distance_euclid.hpp:100
Distance_Euclid(const DIMTYPE n)
Constructs and immediately reset()s for n raw features (see Distance::reset()).
Definition distance_euclid.hpp:98
Abstract class, defines interface for distance evaluators to be used in Classifier_kNN.
Definition distance.hpp:89
DIMTYPE _d
currently active feature count (see get_d())
Definition distance.hpp:128
void reset(const DIMTYPE n)
Allocates for n raw features and makes _index[] the identity map 0..n-1, with all n features active (...
Definition distance.hpp:142
std::unique_ptr< DIMTYPE[]> _index
maps active-feature position [0,_d) to a raw feature index in [0,_n)
Definition distance.hpp:129
Defines interface for distance evaluators (to be used primarily in Classifier_kNN).
FST4 specific error passing class.
The Feature Selection Toolbox 4 library: every library component – data access, criteria and classifi...
Definition data_accessor.hpp:80
void notify(const std::string msg)
Prints msg followed by a newline via syncout::print(); a no-op unless the preprocessor macro DEBUG is...
Definition global.hpp:112