gslcpp
Modern-C++ Wrapper for GSL
free.hpp
Go to the documentation of this file.
1 /// \file include/gslcpp/wrap/free.hpp
2 /// \copyright 2022 Thomas E. Vaughan
3 /// \brief Definition of gsl::w_free().
4 
5 #pragma once
6 #include "container.hpp" // w_vector
7 
8 namespace gsl {
9 
10 
11 /// Deallocate memory for GSL's native vector.
12 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free
13 /// @param v Pointer to vector.
14 inline void w_free(w_vector<double> *v) { gsl_vector_free(v); }
15 
16 
17 /// Deallocate memory for GSL's native vector.
18 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free
19 /// @param v Pointer to vector.
20 inline void w_free(w_vector<float> *v) { gsl_vector_float_free(v); }
21 
22 
23 /// Deallocate memory for GSL's native vector.
24 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free
25 /// @param v Pointer to vector.
26 inline void w_free(w_vector<long double> *v) {
27  gsl_vector_long_double_free(v);
28 }
29 
30 
31 /// Deallocate memory for GSL's native vector.
32 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free
33 /// @param v Pointer to vector.
34 inline void w_free(w_vector<int> *v) { gsl_vector_int_free(v); }
35 
36 
37 /// Deallocate memory for GSL's native vector.
38 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free
39 /// @param v Pointer to vector.
40 inline void w_free(w_vector<unsigned> *v) { gsl_vector_uint_free(v); }
41 
42 
43 /// Deallocate memory for GSL's native vector.
44 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free
45 /// @param v Pointer to vector.
46 inline void w_free(w_vector<long> *v) { gsl_vector_long_free(v); }
47 
48 
49 /// Deallocate memory for GSL's native vector.
50 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free
51 /// @param v Pointer to vector.
52 inline void w_free(w_vector<unsigned long> *v) { gsl_vector_ulong_free(v); }
53 
54 
55 /// Deallocate memory for GSL's native vector.
56 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free
57 /// @param v Pointer to vector.
58 inline void w_free(w_vector<short> *v) { gsl_vector_short_free(v); }
59 
60 
61 /// Deallocate memory for GSL's native vector.
62 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free
63 /// @param v Pointer to vector.
64 inline void w_free(w_vector<unsigned short> *v) { gsl_vector_ushort_free(v); }
65 
66 
67 /// Deallocate memory for GSL's native vector.
68 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free
69 /// @param v Pointer to vector.
70 inline void w_free(w_vector<char> *v) { gsl_vector_char_free(v); }
71 
72 
73 /// Deallocate memory for GSL's native vector.
74 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free
75 /// @param v Pointer to vector.
76 inline void w_free(w_vector<unsigned char> *v) { gsl_vector_uchar_free(v); }
77 
78 
79 /// Deallocate memory for GSL's native vector.
80 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free
81 /// @param v Pointer to vector.
82 inline void w_free(w_vector<complex<double>> *v) {
83  gsl_vector_complex_free(v);
84 }
85 
86 
87 /// Deallocate memory for GSL's native vector.
88 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free
89 /// @param v Pointer to vector.
90 inline void w_free(w_vector<complex<float>> *v) {
91  gsl_vector_complex_float_free(v);
92 }
93 
94 
95 /// Deallocate memory for GSL's native vector.
96 /// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free
97 /// @param v Pointer to vector.
98 inline void w_free(w_vector<complex<long double>> *v) {
99  gsl_vector_complex_long_double_free(v);
100 }
101 
102 
103 } // namespace gsl
104 
105 // EOF
gsl::w_free
void w_free(w_vector< unsigned long > *v)
Deallocate memory for GSL's native vector.
Definition: free.hpp:52
gsl::w_free
void w_free(w_vector< char > *v)
Deallocate memory for GSL's native vector.
Definition: free.hpp:70
gsl::w_free
void w_free(w_vector< int > *v)
Deallocate memory for GSL's native vector.
Definition: free.hpp:34
gsl::w_free
void w_free(w_vector< double > *v)
Deallocate memory for GSL's native vector.
Definition: free.hpp:14
gsl::w_free
void w_free(w_vector< complex< long double >> *v)
Deallocate memory for GSL's native vector.
Definition: free.hpp:98
gsl::w_free
void w_free(w_vector< long > *v)
Deallocate memory for GSL's native vector.
Definition: free.hpp:46
gsl::w_free
void w_free(w_vector< unsigned short > *v)
Deallocate memory for GSL's native vector.
Definition: free.hpp:64
gsl::w_free
void w_free(w_vector< float > *v)
Deallocate memory for GSL's native vector.
Definition: free.hpp:20
gsl::w_free
void w_free(w_vector< complex< double >> *v)
Deallocate memory for GSL's native vector.
Definition: free.hpp:82
gsl::w_free
void w_free(w_vector< unsigned > *v)
Deallocate memory for GSL's native vector.
Definition: free.hpp:40
gsl::w_free
void w_free(w_vector< complex< float >> *v)
Deallocate memory for GSL's native vector.
Definition: free.hpp:90
gsl::w_free
void w_free(w_vector< short > *v)
Deallocate memory for GSL's native vector.
Definition: free.hpp:58
gsl::w_free
void w_free(w_vector< long double > *v)
Deallocate memory for GSL's native vector.
Definition: free.hpp:26
gsl
Namespace for C++-interface to GSL.
Definition: v-iface.hpp:51
gsl::w_free
void w_free(w_vector< unsigned char > *v)
Deallocate memory for GSL's native vector.
Definition: free.hpp:76