gslcpp
Modern-C++ Wrapper for GSL
swap-elements.hpp
Go to the documentation of this file.
1 /// \file include/gslcpp/wrap/swap-elements.hpp
2 /// \copyright 2022 Thomas E. Vaughan, all rights reserved.
3 /// \brief Definition of gsl::w_swap_elements().
4 
5 #pragma once
6 #include "container.hpp" // w_vector
7 
8 namespace gsl {
9 
10 
11 /// Exchange `i`th and `j`th elements in vector `v`.
12 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements
13 /// @param v Pointer to vector.
14 /// @param i Offset of one element to exchange.
15 /// @param j Offset of other element to exchange.
16 /// @return TBD: GSL's documentation does not specify.
17 inline int w_swap_elements(w_vector<double> *v, size_t i, size_t j) {
18  return gsl_vector_swap_elements(v, i, j);
19 }
20 
21 
22 /// Exchange `i`th and `j`th elements in vector `v`.
23 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements
24 /// @param v Pointer to vector.
25 /// @param i Offset of one element to exchange.
26 /// @param j Offset of other element to exchange.
27 /// @return TBD: GSL's documentation does not specify.
28 inline int w_swap_elements(w_vector<float> *v, size_t i, size_t j) {
29  return gsl_vector_float_swap_elements(v, i, j);
30 }
31 
32 
33 /// Exchange `i`th and `j`th elements in vector `v`.
34 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements
35 /// @param v Pointer to vector.
36 /// @param i Offset of one element to exchange.
37 /// @param j Offset of other element to exchange.
38 /// @return TBD: GSL's documentation does not specify.
39 inline int w_swap_elements(w_vector<long double> *v, size_t i, size_t j) {
40  return gsl_vector_long_double_swap_elements(v, i, j);
41 }
42 
43 
44 /// Exchange `i`th and `j`th elements in vector `v`.
45 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements
46 /// @param v Pointer to vector.
47 /// @param i Offset of one element to exchange.
48 /// @param j Offset of other element to exchange.
49 /// @return TBD: GSL's documentation does not specify.
50 inline int w_swap_elements(w_vector<int> *v, size_t i, size_t j) {
51  return gsl_vector_int_swap_elements(v, i, j);
52 }
53 
54 
55 /// Exchange `i`th and `j`th elements in vector `v`.
56 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements
57 /// @param v Pointer to vector.
58 /// @param i Offset of one element to exchange.
59 /// @param j Offset of other element to exchange.
60 /// @return TBD: GSL's documentation does not specify.
61 inline int w_swap_elements(w_vector<unsigned> *v, size_t i, size_t j) {
62  return gsl_vector_uint_swap_elements(v, i, j);
63 }
64 
65 
66 /// Exchange `i`th and `j`th elements in vector `v`.
67 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements
68 /// @param v Pointer to vector.
69 /// @param i Offset of one element to exchange.
70 /// @param j Offset of other element to exchange.
71 /// @return TBD: GSL's documentation does not specify.
72 inline int w_swap_elements(w_vector<long> *v, size_t i, size_t j) {
73  return gsl_vector_long_swap_elements(v, i, j);
74 }
75 
76 
77 /// Exchange `i`th and `j`th elements in vector `v`.
78 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements
79 /// @param v Pointer to vector.
80 /// @param i Offset of one element to exchange.
81 /// @param j Offset of other element to exchange.
82 /// @return TBD: GSL's documentation does not specify.
83 inline int w_swap_elements(w_vector<unsigned long> *v, size_t i, size_t j) {
84  return gsl_vector_ulong_swap_elements(v, i, j);
85 }
86 
87 
88 /// Exchange `i`th and `j`th elements in vector `v`.
89 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements
90 /// @param v Pointer to vector.
91 /// @param i Offset of one element to exchange.
92 /// @param j Offset of other element to exchange.
93 /// @return TBD: GSL's documentation does not specify.
94 inline int w_swap_elements(w_vector<short> *v, size_t i, size_t j) {
95  return gsl_vector_short_swap_elements(v, i, j);
96 }
97 
98 
99 /// Exchange `i`th and `j`th elements in vector `v`.
100 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements
101 /// @param v Pointer to vector.
102 /// @param i Offset of one element to exchange.
103 /// @param j Offset of other element to exchange.
104 /// @return TBD: GSL's documentation does not specify.
105 inline int w_swap_elements(w_vector<unsigned short> *v, size_t i, size_t j) {
106  return gsl_vector_ushort_swap_elements(v, i, j);
107 }
108 
109 
110 /// Exchange `i`th and `j`th elements in vector `v`.
111 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements
112 /// @param v Pointer to vector.
113 /// @param i Offset of one element to exchange.
114 /// @param j Offset of other element to exchange.
115 /// @return TBD: GSL's documentation does not specify.
116 inline int w_swap_elements(w_vector<char> *v, size_t i, size_t j) {
117  return gsl_vector_char_swap_elements(v, i, j);
118 }
119 
120 
121 /// Exchange `i`th and `j`th elements in vector `v`.
122 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements
123 /// @param v Pointer to vector.
124 /// @param i Offset of one element to exchange.
125 /// @param j Offset of other element to exchange.
126 /// @return TBD: GSL's documentation does not specify.
127 inline int w_swap_elements(w_vector<unsigned char> *v, size_t i, size_t j) {
128  return gsl_vector_uchar_swap_elements(v, i, j);
129 }
130 
131 
132 /// Exchange `i`th and `j`th elements in vector `v`.
133 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements
134 /// @param v Pointer to vector.
135 /// @param i Offset of one element to exchange.
136 /// @param j Offset of other element to exchange.
137 /// @return TBD: GSL's documentation does not specify.
138 inline int w_swap_elements(w_vector<complex<double>> *v, size_t i, size_t j) {
139  return gsl_vector_complex_swap_elements(v, i, j);
140 }
141 
142 
143 /// Exchange `i`th and `j`th elements in vector `v`.
144 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements
145 /// @param v Pointer to vector.
146 /// @param i Offset of one element to exchange.
147 /// @param j Offset of other element to exchange.
148 /// @return TBD: GSL's documentation does not specify.
149 inline int w_swap_elements(w_vector<complex<float>> *v, size_t i, size_t j) {
150  return gsl_vector_complex_float_swap_elements(v, i, j);
151 }
152 
153 
154 /// Exchange `i`th and `j`th elements in vector `v`.
155 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements
156 /// @param v Pointer to vector.
157 /// @param i Offset of one element to exchange.
158 /// @param j Offset of other element to exchange.
159 /// @return TBD: GSL's documentation does not specify.
160 inline int
161 w_swap_elements(w_vector<complex<long double>> *v, size_t i, size_t j) {
162  return gsl_vector_complex_long_double_swap_elements(v, i, j);
163 }
164 
165 
166 } // namespace gsl
167 
168 // EOF
gsl::w_swap_elements
int w_swap_elements(w_vector< unsigned long > *v, size_t i, size_t j)
Exchange ith and jth elements in vector v.
Definition: swap-elements.hpp:83
gsl::w_swap_elements
int w_swap_elements(w_vector< long > *v, size_t i, size_t j)
Exchange ith and jth elements in vector v.
Definition: swap-elements.hpp:72
gsl::w_swap_elements
int w_swap_elements(w_vector< float > *v, size_t i, size_t j)
Exchange ith and jth elements in vector v.
Definition: swap-elements.hpp:28
gsl::w_swap_elements
int w_swap_elements(w_vector< complex< float >> *v, size_t i, size_t j)
Exchange ith and jth elements in vector v.
Definition: swap-elements.hpp:149
gsl::w_swap_elements
int w_swap_elements(w_vector< char > *v, size_t i, size_t j)
Exchange ith and jth elements in vector v.
Definition: swap-elements.hpp:116
gsl::w_swap_elements
int w_swap_elements(w_vector< unsigned short > *v, size_t i, size_t j)
Exchange ith and jth elements in vector v.
Definition: swap-elements.hpp:105
gsl::w_swap_elements
int w_swap_elements(w_vector< long double > *v, size_t i, size_t j)
Exchange ith and jth elements in vector v.
Definition: swap-elements.hpp:39
gsl::w_swap_elements
int w_swap_elements(w_vector< complex< double >> *v, size_t i, size_t j)
Exchange ith and jth elements in vector v.
Definition: swap-elements.hpp:138
gsl::w_swap_elements
int w_swap_elements(w_vector< unsigned > *v, size_t i, size_t j)
Exchange ith and jth elements in vector v.
Definition: swap-elements.hpp:61
gsl::w_swap_elements
int w_swap_elements(w_vector< double > *v, size_t i, size_t j)
Exchange ith and jth elements in vector v.
Definition: swap-elements.hpp:17
gsl::w_swap_elements
int w_swap_elements(w_vector< short > *v, size_t i, size_t j)
Exchange ith and jth elements in vector v.
Definition: swap-elements.hpp:94
gsl::w_swap_elements
int w_swap_elements(w_vector< complex< long double >> *v, size_t i, size_t j)
Exchange ith and jth elements in vector v.
Definition: swap-elements.hpp:161
gsl::w_swap_elements
int w_swap_elements(w_vector< int > *v, size_t i, size_t j)
Exchange ith and jth elements in vector v.
Definition: swap-elements.hpp:50
gsl
Namespace for C++-interface to GSL.
Definition: v-iface.hpp:51
gsl::w_swap_elements
int w_swap_elements(w_vector< unsigned char > *v, size_t i, size_t j)
Exchange ith and jth elements in vector v.
Definition: swap-elements.hpp:127