xvector5.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "xvector4.h"
4 
5 namespace nmx::gsl::vec {
6 
10 template<typename T>
11 class IVMinMax : public IGslContainer<T, gsl_vector, 4>
12 {
14 
15 public:
16  //suche minimales Element
17  inline double max() const { return gsl_vector_max(gsl()); }
18 
19  //suche maximales Element
20  inline double min() const { return gsl_vector_min(gsl()); }
21 
22  //suche Index des minimalen Elements
23  inline size_t min_idx() const { //
24  return gsl_vector_min_index(gsl());
25  }
26 
27  //suche Index des maximalen Elements
28  inline size_t max_idx() const { //
29  return gsl_vector_max_index(gsl());
30  }
31 
32  //suche minimales UND maximales Element
33  inline auto min_max() const {
34  double minval, maxval;
35  gsl_vector_minmax(gsl(), &minval, &maxval);
36  return std::make_pair(minval, maxval);
37  }
38 
39  //suche Indizes für minimales und maximales Element
40  inline auto min_max_idx() const {
41  size_t minidx, maxidx;
42  gsl_vector_minmax_index(gsl(), &minidx, &maxidx);
43  return std::make_pair(minidx, maxidx);
44  }
45 };
46 
47 } // namespace nmx::gsl::vec
auto min_max() const
Definition: xvector5.h:33
auto min_max_idx() const
Definition: xvector5.h:40
size_t max_idx() const
Definition: xvector5.h:28
double min() const
Definition: xvector5.h:20
size_t min_idx() const
Definition: xvector5.h:23
The IVMinMax class Suche minimales,maximales Element.
Definition: xvector5.h:11
double max() const
Definition: xvector5.h:17
const gsl_vector * gsl() const
ermöglicht direkten Zugriff auf gsl-Funktionen
Definition: xvector0.h:18
The IGslContainer struct Basisklasse für gsl-Vektoren und Matrizen.
Definition: xvector0.h:13