gslcpp
Modern-C++ Wrapper for GSL
minmax.hpp
Go to the documentation of this file.
1 /// \file include/gslcpp/wrap/minmax.hpp
2 /// \copyright 2022 Thomas E. Vaughan, all rights reserved.
3 /// \brief Definition of gsl::w_minmax().
4 
5 #pragma once
6 #include "container.hpp" // w_vector // vector
7 
8 namespace gsl {
9 
10 
11 /// Return minimum and maximum values in vector `v`.
12 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax
13 /// @param v Pointer to vector.
14 /// @param min Pointer to storage for minimum value.
15 /// @param max Pointer to storage for maximum value.
16 inline void w_minmax(w_vector<double const> *v, double *min, double *max) {
17  return gsl_vector_minmax(v, min, max);
18 }
19 
20 
21 /// Return minimum and maximum values in vector `v`.
22 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax
23 /// @param v Pointer to vector.
24 /// @param min Pointer to storage for minimum value.
25 /// @param max Pointer to storage for maximum value.
26 inline void w_minmax(w_vector<float const> *v, float *min, float *max) {
27  return gsl_vector_float_minmax(v, min, max);
28 }
29 
30 
31 /// Return minimum and maximum values in vector `v`.
32 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax
33 /// @param v Pointer to vector.
34 /// @param min Pointer to storage for minimum value.
35 /// @param max Pointer to storage for maximum value.
36 inline void
37 w_minmax(w_vector<long double const> *v, long double *min, long double *max) {
38  return gsl_vector_long_double_minmax(v, min, max);
39 }
40 
41 
42 /// Return minimum and maximum values in vector `v`.
43 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax
44 /// @param v Pointer to vector.
45 /// @param min Pointer to storage for minimum value.
46 /// @param max Pointer to storage for maximum value.
47 inline void w_minmax(w_vector<int const> *v, int *min, int *max) {
48  return gsl_vector_int_minmax(v, min, max);
49 }
50 
51 
52 /// Return minimum and maximum values in vector `v`.
53 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax
54 /// @param v Pointer to vector.
55 /// @param min Pointer to storage for minimum value.
56 /// @param max Pointer to storage for maximum value.
57 inline void
58 w_minmax(w_vector<unsigned const> *v, unsigned *min, unsigned *max) {
59  return gsl_vector_uint_minmax(v, min, max);
60 }
61 
62 
63 /// Return minimum and maximum values in vector `v`.
64 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax
65 /// @param v Pointer to vector.
66 /// @param min Pointer to storage for minimum value.
67 /// @param max Pointer to storage for maximum value.
68 inline void w_minmax(w_vector<long const> *v, long *min, long *max) {
69  return gsl_vector_long_minmax(v, min, max);
70 }
71 
72 
73 /// Return minimum and maximum values in vector `v`.
74 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax
75 /// @param v Pointer to vector.
76 /// @param min Pointer to storage for minimum value.
77 /// @param max Pointer to storage for maximum value.
78 inline void w_minmax(
79  w_vector<unsigned long const> *v,
80  unsigned long *min,
81  unsigned long *max) {
82  return gsl_vector_ulong_minmax(v, min, max);
83 }
84 
85 
86 /// Return minimum and maximum values in vector `v`.
87 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax
88 /// @param v Pointer to vector.
89 /// @param min Pointer to storage for minimum value.
90 /// @param max Pointer to storage for maximum value.
91 inline void w_minmax(w_vector<short const> *v, short *min, short *max) {
92  return gsl_vector_short_minmax(v, min, max);
93 }
94 
95 
96 /// Return minimum and maximum values in vector `v`.
97 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax
98 /// @param v Pointer to vector.
99 /// @param min Pointer to storage for minimum value.
100 /// @param max Pointer to storage for maximum value.
101 inline void w_minmax(
102  w_vector<unsigned short const> *v,
103  unsigned short *min,
104  unsigned short *max) {
105  return gsl_vector_ushort_minmax(v, min, max);
106 }
107 
108 
109 /// Return minimum and maximum values in vector `v`.
110 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax
111 /// @param v Pointer to vector.
112 /// @param min Pointer to storage for minimum value.
113 /// @param max Pointer to storage for maximum value.
114 inline void w_minmax(w_vector<char const> *v, char *min, char *max) {
115  return gsl_vector_char_minmax(v, min, max);
116 }
117 
118 
119 /// Return minimum and maximum values in vector `v`.
120 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax
121 /// @param v Pointer to vector.
122 /// @param min Pointer to storage for minimum value.
123 /// @param max Pointer to storage for maximum value.
124 inline void w_minmax(
125  w_vector<unsigned char const> *v,
126  unsigned char *min,
127  unsigned char *max) {
128  return gsl_vector_uchar_minmax(v, min, max);
129 }
130 
131 
132 } // namespace gsl
133 
134 // EOF
gsl::w_minmax
void w_minmax(w_vector< unsigned const > *v, unsigned *min, unsigned *max)
Return minimum and maximum values in vector v.
Definition: minmax.hpp:58
gsl::w_minmax
void w_minmax(w_vector< double const > *v, double *min, double *max)
Return minimum and maximum values in vector v.
Definition: minmax.hpp:16
gsl::w_minmax
void w_minmax(w_vector< long double const > *v, long double *min, long double *max)
Return minimum and maximum values in vector v.
Definition: minmax.hpp:37
gsl::w_minmax
void w_minmax(w_vector< long const > *v, long *min, long *max)
Return minimum and maximum values in vector v.
Definition: minmax.hpp:68
gsl::w_minmax
void w_minmax(w_vector< unsigned long const > *v, unsigned long *min, unsigned long *max)
Return minimum and maximum values in vector v.
Definition: minmax.hpp:78
gsl::w_minmax
void w_minmax(w_vector< unsigned char const > *v, unsigned char *min, unsigned char *max)
Return minimum and maximum values in vector v.
Definition: minmax.hpp:124
gsl::w_minmax
void w_minmax(w_vector< unsigned short const > *v, unsigned short *min, unsigned short *max)
Return minimum and maximum values in vector v.
Definition: minmax.hpp:101
gsl::w_minmax
void w_minmax(w_vector< float const > *v, float *min, float *max)
Return minimum and maximum values in vector v.
Definition: minmax.hpp:26
gsl::w_minmax
void w_minmax(w_vector< short const > *v, short *min, short *max)
Return minimum and maximum values in vector v.
Definition: minmax.hpp:91
gsl::w_minmax
void w_minmax(w_vector< char const > *v, char *min, char *max)
Return minimum and maximum values in vector v.
Definition: minmax.hpp:114
gsl
Namespace for C++-interface to GSL.
Definition: v-iface.hpp:51
gsl::w_minmax
void w_minmax(w_vector< int const > *v, int *min, int *max)
Return minimum and maximum values in vector v.
Definition: minmax.hpp:47