#include <sorted_k_distances.h>
|
template<int N = K> |
std::enable_if< N<=4, bool >::type try_insert_specialized(double distance) { if constexpr(K==1) { if(m_size==0||distance< m_data[0]) { m_data[0]=distance;m_size=1;return true;} return false;} else if constexpr(K==2) { if(m_size==0) { m_data[0]=distance;m_size=1;return true;} else if(m_size==1) { if(distance< m_data[0]) { m_data[1]=m_data[0];m_data[0]=distance;} else { m_data[1]=distance;} m_size=2;return true;} else if(distance< m_data[1]) { if(distance< m_data[0]) { m_data[1]=m_data[0];m_data[0]=distance;} else { m_data[1]=distance;} return true;} return false;} else { return try_insert(distance);} } constexpr size_t size() const { return static_cast< size_t >(m_size);} constexpr bool empty() const { return m_size==0;} double back() const { return m_size > | m_data [m_size - 1]: std::numeric_limits<double>::infinity() |
|
◆ SortedKDistances()
◆ as_array()
◆ clear()
◆ operator[]()
◆ raw_data()
◆ reserve()
◆ simd_type()
◆ try_insert()
◆ try_insert_batch2()
◆ try_insert_batch4()
◆ try_insert_sorted_batch4()
◆ worst_acceptable()
◆ would_insert()
◆ m_data
template<int K>
template<int N = K>
std::enable_if<N <= 4, bool>::type try_insert_specialized(double distance) { if constexpr (K == 1) { if (m_size == 0 || distance < m_data[0]) { m_data[0] = distance; m_size = 1; return true; } return false; } else if constexpr (K == 2) { if (m_size == 0) { m_data[0] = distance; m_size = 1; return true; } else if (m_size == 1) { if (distance < m_data[0]) { m_data[1] = m_data[0]; m_data[0] = distance; } else { m_data[1] = distance; } m_size = 2; return true; } else if (distance < m_data[1]) { if (distance < m_data[0]) { m_data[1] = m_data[0]; m_data[0] = distance; } else { m_data[1] = distance; } return true; } return false; } else { return try_insert(distance); } } constexpr size_t size() const { return static_cast<size_t>(m_size); } constexpr bool empty() const { return m_size == 0; } double back() const { return m_size > occ::descriptors::SortedKDistances< K >::m_data[m_size - 1] |
|
inline |
The documentation for this class was generated from the following file: