ATLAS Offline Software
Namespaces | Enumerations | Functions
GSFFindIndexOfMinimum.h File Reference
#include "CxxUtils/inline_hints.h"
#include "CxxUtils/restrict.h"
#include "CxxUtils/vec.h"
#include "GaudiKernel/Kernel.h"
#include "TrkGaussianSumFilterUtils/GsfConstants.h"
#include <algorithm>
#include <memory>
#include <numeric>
Include dependency graph for GSFFindIndexOfMinimum.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 findIdxOfMinDetail
 
 findIdxOfMinimum
 

Enumerations

enum  findIdxOfMinimum::Impl {
  findIdxOfMinimum::VecUpdateIdxOnNewMin = 0, findIdxOfMinimum::VecAlwaysTrackIdx = 1, findIdxOfMinimum::VecMinThenIdx = 2, findIdxOfMinimum::C = 3,
  findIdxOfMinimum::STL = 4
}
 

Functions

ATH_ALWAYS_INLINE int32_t findIdxOfMinDetail::scalarC (const float *distancesIn, int n)
 
ATH_ALWAYS_INLINE int32_t findIdxOfMinDetail::scalarSTL (const float *distancesIn, int n)
 
ATH_ALWAYS_INLINE int32_t findIdxOfMinDetail::vecAlwaysTrackIdx (const float *distancesIn, int n)
 
ATH_ALWAYS_INLINE int32_t findIdxOfMinDetail::vecUpdateIdxOnNewMin (const float *distancesIn, int n)
 
template<typename T = float, int STRIDE = 16, int VEC_WIDTH = 4>
ATH_ALWAYS_INLINE float findIdxOfMinDetail::vecFindMinimum (const float *distancesIn, int n)
 
template<typename T = float, int STRIDE = 16, int VEC_WIDTH = 4>
ATH_ALWAYS_INLINE int32_t findIdxOfMinDetail::vecIdxOfValue (const T value, const T *distancesIn, int n)
 
ATH_ALWAYS_INLINE int32_t findIdxOfMinDetail::vecMinThenIdx (const float *distancesIn, int n)
 
template<enum Impl I>
ATH_ALWAYS_INLINE int32_t findIdxOfMinimum::impl (const float *distancesIn, int n)