gslcpp
Modern-C++ Wrapper for GSL
real.hpp
Go to the documentation of this file.
1 /// @file include/gslcpp/wrap/real.hpp
2 /// @copyright 2022 Thomas E. Vaughan, all rights reserved.
3 /// @brief Definition of gsl::w_real().
4 
5 #pragma once
6 #include "container.hpp" // w_vector
7 
8 namespace gsl {
9 
10 
11 /// Real part (identity-view) of real vector.
12 /// @param v Pointer to vector.
13 /// @return Identity-view of real vector.
14 inline auto w_real(w_vector<double> *v) {
15  return gsl_vector_subvector_with_stride(v, 0, 1, v->size);
16 }
17 
18 
19 /// Real part (identity-view) of real vector.
20 /// @param v Pointer to vector.
21 /// @return Identity-view of real vector.
22 inline auto w_real(w_vector<double const> *v) {
23  return gsl_vector_const_subvector_with_stride(v, 0, 1, v->size);
24 }
25 
26 
27 /// Real part (identity-view) of real vector.
28 /// @param v Pointer to vector.
29 /// @return Identity-view of real vector.
30 inline auto w_real(w_vector<float> *v) {
31  return gsl_vector_float_subvector_with_stride(v, 0, 1, v->size);
32 }
33 
34 
35 /// Real part (identity-view) of real vector.
36 /// @param v Pointer to vector.
37 /// @return Identity-view of real vector.
38 inline auto w_real(w_vector<float const> *v) {
39  return gsl_vector_float_const_subvector_with_stride(v, 0, 1, v->size);
40 }
41 
42 
43 /// Real part (identity-view) of real vector.
44 /// @param v Pointer to vector.
45 /// @return Identity-view of real vector.
46 inline auto w_real(w_vector<long double> *v) {
47  return gsl_vector_long_double_subvector_with_stride(v, 0, 1, v->size);
48 }
49 
50 
51 /// Real part (identity-view) of real vector.
52 /// @param v Pointer to vector.
53 /// @return Identity-view of real vector.
54 inline auto w_real(w_vector<long double const> *v) {
55  return gsl_vector_long_double_const_subvector_with_stride(v, 0, 1, v->size);
56 }
57 
58 
59 /// Real part (identity-view) of real vector.
60 /// @param v Pointer to vector.
61 /// @return Identity-view of real vector.
62 inline auto w_real(w_vector<int> *v) {
63  return gsl_vector_int_subvector_with_stride(v, 0, 1, v->size);
64 }
65 
66 
67 /// Real part (identity-view) of real vector.
68 /// @param v Pointer to vector.
69 /// @return Identity-view of real vector.
70 inline auto w_real(w_vector<int const> *v) {
71  return gsl_vector_int_const_subvector_with_stride(v, 0, 1, v->size);
72 }
73 
74 
75 /// Real part (identity-view) of real vector.
76 /// @param v Pointer to vector.
77 /// @return Identity-view of real vector.
78 inline auto w_real(w_vector<unsigned> *v) {
79  return gsl_vector_uint_subvector_with_stride(v, 0, 1, v->size);
80 }
81 
82 
83 /// Real part (identity-view) of real vector.
84 /// @param v Pointer to vector.
85 /// @return Identity-view of real vector.
86 inline auto w_real(w_vector<unsigned const> *v) {
87  return gsl_vector_uint_const_subvector_with_stride(v, 0, 1, v->size);
88 }
89 
90 
91 /// Real part (identity-view) of real vector.
92 /// @param v Pointer to vector.
93 /// @return Identity-view of real vector.
94 inline auto w_real(w_vector<long> *v) {
95  return gsl_vector_long_subvector_with_stride(v, 0, 1, v->size);
96 }
97 
98 
99 /// Real part (identity-view) of real vector.
100 /// @param v Pointer to vector.
101 /// @return Identity-view of real vector.
102 inline auto w_real(w_vector<long const> *v) {
103  return gsl_vector_long_const_subvector_with_stride(v, 0, 1, v->size);
104 }
105 
106 
107 /// Real part (identity-view) of real vector.
108 /// @param v Pointer to vector.
109 /// @return Identity-view of real vector.
110 inline auto w_real(w_vector<unsigned long> *v) {
111  return gsl_vector_ulong_subvector_with_stride(v, 0, 1, v->size);
112 }
113 
114 
115 /// Real part (identity-view) of real vector.
116 /// @param v Pointer to vector.
117 /// @return Identity-view of real vector.
118 inline auto w_real(w_vector<unsigned long const> *v) {
119  return gsl_vector_ulong_const_subvector_with_stride(v, 0, 1, v->size);
120 }
121 
122 
123 /// Real part (identity-view) of real vector.
124 /// @param v Pointer to vector.
125 /// @return Identity-view of real vector.
126 inline auto w_real(w_vector<short> *v) {
127  return gsl_vector_short_subvector_with_stride(v, 0, 1, v->size);
128 }
129 
130 
131 /// Real part (identity-view) of real vector.
132 /// @param v Pointer to vector.
133 /// @return Identity-view of real vector.
134 inline auto w_real(w_vector<short const> *v) {
135  return gsl_vector_short_const_subvector_with_stride(v, 0, 1, v->size);
136 }
137 
138 
139 /// Real part (identity-view) of real vector.
140 /// @param v Pointer to vector.
141 /// @return Identity-view of real vector.
142 inline auto w_real(w_vector<unsigned short> *v) {
143  return gsl_vector_ushort_subvector_with_stride(v, 0, 1, v->size);
144 }
145 
146 
147 /// Real part (identity-view) of real vector.
148 /// @param v Pointer to vector.
149 /// @return Identity-view of real vector.
150 inline auto w_real(w_vector<unsigned short const> *v) {
151  return gsl_vector_ushort_const_subvector_with_stride(v, 0, 1, v->size);
152 }
153 
154 
155 /// Real part (identity-view) of real vector.
156 /// @param v Pointer to vector.
157 /// @return Identity-view of real vector.
158 inline auto w_real(w_vector<char> *v) {
159  return gsl_vector_char_subvector_with_stride(v, 0, 1, v->size);
160 }
161 
162 
163 /// Real part (identity-view) of real vector.
164 /// @param v Pointer to vector.
165 /// @return Identity-view of real vector.
166 inline auto w_real(w_vector<char const> *v) {
167  return gsl_vector_char_const_subvector_with_stride(v, 0, 1, v->size);
168 }
169 
170 
171 /// Real part (identity-view) of real vector.
172 /// @param v Pointer to vector.
173 /// @return Identity-view of real vector.
174 inline auto w_real(w_vector<unsigned char> *v) {
175  return gsl_vector_uchar_subvector_with_stride(v, 0, 1, v->size);
176 }
177 
178 
179 /// Real part (identity-view) of real vector.
180 /// @param v Pointer to vector.
181 /// @return Identity-view of real vector.
182 inline auto w_real(w_vector<unsigned char const> *v) {
183  return gsl_vector_uchar_const_subvector_with_stride(v, 0, 1, v->size);
184 }
185 
186 
187 /// Real-part of complex vector.
188 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_real
189 /// @param u Pointer to vector.
190 /// @return View of real-part of complex vector.
191 inline auto w_real(w_vector<complex<double>> *u) {
192  return gsl_vector_complex_real(u);
193 }
194 
195 
196 /// Real-part of complex vector.
197 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_real
198 /// @param u Pointer to vector.
199 /// @return View of real-part of complex vector.
200 inline auto w_real(w_vector<complex<float>> *u) {
201  return gsl_vector_complex_float_real(u);
202 }
203 
204 
205 /// Real-part of complex vector.
206 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_real
207 /// @param u Pointer to vector.
208 /// @return View of real-part of complex vector.
209 inline auto w_real(w_vector<complex<long double>> *u) {
210  return gsl_vector_complex_long_double_real(u);
211 }
212 
213 
214 /// Real-part of complex vector.
215 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_real
216 /// @param u Pointer to vector.
217 /// @return View of real-part of complex vector.
218 inline auto w_real(w_vector<complex<double>> const *u) {
219  return gsl_vector_complex_const_real(u);
220 }
221 
222 
223 /// Real-part of complex vector.
224 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_real
225 /// @param u Pointer to vector.
226 /// @return View of real-part of complex vector.
227 inline auto w_real(w_vector<complex<float>> const *u) {
228  return gsl_vector_complex_float_const_real(u);
229 }
230 
231 
232 /// Real-part of complex vector.
233 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_real
234 /// @param u Pointer to vector.
235 /// @return View of real-part of complex vector.
236 inline auto w_real(w_vector<complex<long double>> const *u) {
237  return gsl_vector_complex_long_double_const_real(u);
238 }
239 
240 
241 } // namespace gsl
242 
243 // EOF
gsl::w_real
auto w_real(w_vector< double const > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:22
gsl::w_real
auto w_real(w_vector< complex< float >> *u)
Real-part of complex vector.
Definition: real.hpp:200
gsl::w_real
auto w_real(w_vector< unsigned long > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:110
gsl::w_real
auto w_real(w_vector< unsigned char const > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:182
gsl::w_real
auto w_real(w_vector< float > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:30
gsl::w_real
auto w_real(w_vector< long double const > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:54
gsl::w_real
auto w_real(w_vector< short > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:126
gsl::w_real
auto w_real(w_vector< char const > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:166
gsl::w_real
auto w_real(w_vector< double > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:14
gsl::w_real
auto w_real(w_vector< unsigned long const > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:118
gsl::w_real
auto w_real(w_vector< complex< double >> const *u)
Real-part of complex vector.
Definition: real.hpp:218
gsl::w_real
auto w_real(w_vector< complex< long double >> *u)
Real-part of complex vector.
Definition: real.hpp:209
gsl::w_real
auto w_real(w_vector< long double > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:46
gsl::w_real
auto w_real(w_vector< float const > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:38
gsl::w_real
auto w_real(w_vector< char > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:158
gsl::w_real
auto w_real(w_vector< unsigned char > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:174
gsl::w_real
auto w_real(w_vector< short const > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:134
gsl::w_real
auto w_real(w_vector< unsigned const > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:86
gsl::w_real
auto w_real(w_vector< complex< long double >> const *u)
Real-part of complex vector.
Definition: real.hpp:236
gsl::w_real
auto w_real(w_vector< complex< double >> *u)
Real-part of complex vector.
Definition: real.hpp:191
gsl::w_real
auto w_real(w_vector< unsigned > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:78
gsl::w_real
auto w_real(w_vector< unsigned short const > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:150
gsl::w_real
auto w_real(w_vector< int > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:62
gsl::w_real
auto w_real(w_vector< unsigned short > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:142
gsl::w_real
auto w_real(w_vector< complex< float >> const *u)
Real-part of complex vector.
Definition: real.hpp:227
gsl
Namespace for C++-interface to GSL.
Definition: v-iface.hpp:51
gsl::w_real
auto w_real(w_vector< long > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:94
gsl::w_real
auto w_real(w_vector< int const > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:70
gsl::w_real
auto w_real(w_vector< long const > *v)
Real part (identity-view) of real vector.
Definition: real.hpp:102