6 #ifndef TAPKEE_CHAIN_H_
7 #define TAPKEE_CHAIN_H_
18 namespace tapkee_internal
20 template<
class KernelCallback,
class DistanceCallback,
class FeaturesCallback>
25 const DistanceCallback& d,
const FeaturesCallback& f) :
34 template<
class RandomAccessIterator>
45 template<
class Container>
48 return embedRange(container.begin(),container.end());
57 template<
class KernelCallback,
class DistanceCallback>
71 template<
class FeaturesCallback>
81 template<
class RandomAccessIterator>
85 .embedRange(begin,end);
93 template<
class Container>
96 return embedRange(container.begin(),container.end());
104 template<
class KernelCallback,
class FeaturesCallback>
118 template<
class DistanceCallback>
128 template<
class RandomAccessIterator>
132 .embedRange(begin,end);
140 template<
class Container>
143 return embedRange(container.begin(),container.end());
156 template<
class DistanceCallback,
class FeaturesCallback>
170 template<
class KernelCallback>
180 template<
class RandomAccessIterator>
184 .embedRange(begin,end);
192 template<
class Container>
195 return embedRange(container.begin(),container.end());
203 template<
class KernelCallback>
217 template<
class DistanceCallback>
228 template<
class FeaturesCallback>
238 template<
class RandomAccessIterator>
243 .embedRange(begin,end);
251 template<
class Container>
254 return embedRange(container.begin(),container.end());
261 template<
class DistanceCallback>
275 template<
class KernelCallback>
286 template<
class FeaturesCallback>
296 template<
class RandomAccessIterator>
301 .embedRange(begin,end);
309 template<
class Container>
312 return embedRange(container.begin(),container.end());
319 template<
class FeaturesCallback>
333 template<
class KernelCallback>
344 template<
class DistanceCallback>
354 template<
class RandomAccessIterator>
359 .embedRange(begin,end);
367 template<
class Container>
370 return embedRange(container.begin(),container.end());
391 template<
class KernelCallback>
402 template<
class DistanceCallback>
413 template<
class FeaturesCallback>
425 std::vector<IndexType> indices(matrix.cols());
426 for (
IndexType i=0; i<matrix.cols(); i++) indices[i] = i;
TapkeeOutput embedRange(RandomAccessIterator begin, RandomAccessIterator end) const
DistanceAndFeaturesInitializedState(const ParametersSet ¶ms, const DistanceCallback &d, const FeaturesCallback &f)
KernelAndFeaturesInitializedState< KernelCallback, FeaturesCallback > withFeatures(const FeaturesCallback &callback) const
ScalarType distance(Callback &cb, const CoverTreePoint< RandomAccessIterator > &l, const CoverTreePoint< RandomAccessIterator > &r, ScalarType upper_bound)
ParametersInitializedState(const ParametersSet &that)
Eigen::Matrix< tapkee::ScalarType, Eigen::Dynamic, Eigen::Dynamic > DenseMatrix
dense matrix type (non-overridable)
TapkeeOutput embedRange(RandomAccessIterator begin, RandomAccessIterator end) const
DistanceAndFeaturesInitializedState< DistanceCallback, FeaturesCallback > withDistance(const DistanceCallback &callback) const
KernelAndDistanceInitializedState< KernelCallback, DistanceCallback > withDistance(const DistanceCallback &callback) const
CallbacksInitializedState< KernelCallback, DistanceCallback, FeaturesCallback > withFeatures(const FeaturesCallback &features) const
KernelAndDistanceInitializedState(const ParametersSet ¶ms, const KernelCallback &k, const DistanceCallback &d)
TapkeeOutput embedUsing(const Container &container) const
FeaturesCallback features
TapkeeOutput embedUsing(const Container &container) const
TapkeeOutput embedUsing(const Container &container) const
CallbacksInitializedState< KernelCallback, DistanceCallback, FeaturesCallback > withDistance(const DistanceCallback &distance) const
FeaturesCallback features
KernelFirstInitializedState< KernelCallback > withKernel(const KernelCallback &callback) const
tapkee_internal::ParametersInitializedState withParameters(const ParametersSet ¶meters) const
DistanceFirstInitializedState< DistanceCallback > withDistance(const DistanceCallback &callback) const
CallbacksInitializedState< KernelCallback, DistanceCallback, FeaturesCallback > withKernel(const KernelCallback &kernel) const
TapkeeOutput embedRange(RandomAccessIterator begin, RandomAccessIterator end) const
int IndexType
indexing type (non-overridable) set to int for compatibility with OpenMP 2.0
KernelAndDistanceInitializedState< KernelCallback, DistanceCallback > withKernel(const KernelCallback &callback) const
FeaturesFirstInitializedState(const ParametersSet ¶ms, const FeaturesCallback &callback)
ParametersInitializedState & operator=(const ParametersInitializedState &)
FeaturesCallback features
TapkeeOutput embedRange(RandomAccessIterator begin, RandomAccessIterator end) const
DistanceAndFeaturesInitializedState< DistanceCallback, FeaturesCallback > withFeatures(const FeaturesCallback &callback) const
DistanceCallback distance
TapkeeOutput embedUsing(const DenseMatrix &matrix) const
KernelAndFeaturesInitializedState(const ParametersSet ¶ms, const KernelCallback &k, const FeaturesCallback &f)
TapkeeOutput embedRange(RandomAccessIterator begin, RandomAccessIterator end) const
TapkeeOutput embedRange(RandomAccessIterator begin, RandomAccessIterator end) const
CallbacksInitializedState(const ParametersSet ¶ms, const KernelCallback &k, const DistanceCallback &d, const FeaturesCallback &f)
Return result of the library - a pair of DenseMatrix (embedding) and ProjectingFunction.
TapkeeOutput embedUsing(const Container &container) const
TapkeeOutput embedUsing(const Container &container) const
DistanceFirstInitializedState(const ParametersSet ¶ms, const DistanceCallback &callback)
FeaturesFirstInitializedState< FeaturesCallback > withFeatures(const FeaturesCallback &callback) const
TapkeeOutput embed(RandomAccessIterator begin, RandomAccessIterator end, KernelCallback kernel_callback, DistanceCallback distance_callback, FeaturesCallback features_callback, ParametersSet parameters)
FeaturesCallback features
KernelFirstInitializedState(const ParametersSet ¶ms, const KernelCallback &callback)
DistanceCallback distance
KernelAndFeaturesInitializedState< KernelCallback, FeaturesCallback > withKernel(const KernelCallback &callback) const
TapkeeOutput embedUsing(const Container &container) const
TapkeeOutput embedUsing(const Container &container) const
TapkeeOutput embedRange(RandomAccessIterator begin, RandomAccessIterator end) const
DistanceCallback distance
DistanceCallback distance