xmatrix2.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "xmatrix1.h"
4 
5 namespace nmx::gsl::mat {
6 
11 template<class T>
12 class IMMinMax : public IGslContainer<T, gsl_matrix, 3>
13 {
14  // benutze Elementfunktionen der Basisklasse
16 
17 public:
22  inline double min() const { return gsl_matrix_min(gsl()); }
23 
28  inline double max() const { return gsl_matrix_max(gsl()); }
29 
34  inline auto min_max() const {
35  double minval, maxval;
36  gsl_matrix_minmax(gsl(), &minval, &maxval);
37  return std::make_pair(minval, maxval);
38  }
39 
44  inline auto max_index() const {
45  size_t idx, jdx;
46  gsl_matrix_max_index(gsl(), &idx, &jdx);
47  return std::make_pair(idx, jdx);
48  }
49 
54  inline auto min_index() const {
55  size_t idx, jdx;
56  gsl_matrix_min_index(gsl(), &idx, &jdx);
57  return std::make_pair(idx, jdx);
58  }
59 
65  inline auto min_max_idx() const {
66  size_t minidx, minjdx, maxidx, maxjdx;
67  gsl_matrix_minmax_index(gsl(), //
68  &minidx,
69  &minjdx,
70  &maxidx,
71  &maxjdx);
72  return std::make_pair(std::make_pair(minidx, minjdx), //
73  std::make_pair(maxidx, maxjdx));
74  }
75 }; //IMMinMax
76 
77 } // namespace nmx::gsl::mat
The IMMinMax class Suche das minimale und maximale Element einer Matrix.
Definition: xmatrix2.h:12
auto min_max() const
min_max suche gleichzeitig minimales und maximales Element
Definition: xmatrix2.h:34
double max() const
max suche maximales Element
Definition: xmatrix2.h:28
auto max_index() const
max_index Position des maximalen Elements
Definition: xmatrix2.h:44
auto min_index() const
min_index Position des minimalen Elements
Definition: xmatrix2.h:54
const gsl_matrix * gsl() const
ermöglicht direkten Zugriff auf gsl-Funktionen
Definition: xvector0.h:18
double min() const
min suche minimales Element
Definition: xmatrix2.h:22
auto min_max_idx() const
min_max_idx Position des minimalen und maximalen Elements
Definition: xmatrix2.h:65
The IGslContainer struct Basisklasse für gsl-Vektoren und Matrizen.
Definition: xvector0.h:13