1 #ifndef VIENNACL_LINALG_DETAIL_BISECT_SMALL_HPP_ 
    2 #define VIENNACL_LINALG_DETAIL_BISECT_SMALL_HPP_ 
   59 template<
typename NumericT>
 
   62                               const unsigned int mat_size,
 
   76 template<
typename NumericT>
 
   79                          const unsigned int mat_size)
 
   82   std::vector<NumericT> left(mat_size);
 
   83   std::vector<unsigned int> left_count(mat_size);
 
   88   for (
unsigned int i = 0; i < mat_size; ++i)
 
std::vector< NumericT > std_eigenvalues
eigenvalues (host side) 
Helper structures to simplify variable handling. 
Kernel calls for the bisection algorithm. 
viennacl::vector< NumericT > vcl_g_left
left interval limits at the end of the computation 
viennacl::vector< unsigned int > vcl_g_left_count
number of eigenvalues smaller than the left interval limit 
void computeEigenvaluesSmallMatrix(const InputData< NumericT > &input, ResultDataSmall< NumericT > &result, const unsigned int mat_size, const NumericT lg, const NumericT ug, const NumericT precision)
void processResultSmallMatrix(ResultDataSmall< NumericT > &result, const unsigned int mat_size)
void copy(std::vector< NumericT > &cpu_vec, circulant_matrix< NumericT, AlignmentV > &gpu_mat)
Copies a circulant matrix from the std::vector to the OpenCL device (either GPU or multi-core CPU) ...
void bisectSmall(const InputData< NumericT > &input, ResultDataSmall< NumericT > &result, const unsigned int mat_size, const NumericT lg, const NumericT ug, const NumericT precision)
In this class the data of the result for small matrices is stored.